Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * Copyright (c) 1990 The Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms are permitted
  6.  * provided that the above copyright notice and this paragraph are
  7.  * duplicated in all such forms and that any documentation,
  8.  * advertising materials, and other materials related to such
  9.  * distribution and use acknowledge that the software was developed
  10.  * by the University of California, Berkeley.  The name of the
  11.  * University may not be used to endorse or promote products derived
  12.  * from this software without specific prior written permission.
  13.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  14.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  15.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  16.  */
  17. /* No user fns here. Pesch 15apr92. */
  18.  
  19. #if defined(LIBC_SCCS) && !defined(lint)
  20. static char sccsid[] = "%W% (Berkeley) %G%";
  21. #endif /* LIBC_SCCS and not lint */
  22.  
  23. #include <_ansi.h>
  24. #include <stdio.h>
  25. #include <errno.h>
  26. #include "local.h"
  27.  
  28. /*
  29.  * Handle getc() when the buffer ran out:
  30.  * Refill, then return the first character
  31.  * in the newly-filled buffer.
  32.  */
  33.  
  34. int
  35. _DEFUN(__srget_r, (ptr, fp),
  36.        struct _reent *ptr _AND
  37.        register FILE *fp)
  38. {
  39.   /* Ensure that any fake std stream is resolved before
  40.      we call __srefill_r so we may access the true read buffer. */
  41.   CHECK_INIT(ptr, fp);
  42.  
  43.   if (__srefill_r (ptr, fp) == 0)
  44.     {
  45.       fp->_r--;
  46.       return *fp->_p++;
  47.     }
  48.   return EOF;
  49. }
  50.  
  51. /* This function isn't any longer declared in stdio.h, but it's
  52.    required for backward compatibility with applications built against
  53.    earlier dynamically built newlib libraries. */
  54. int
  55. _DEFUN(__srget, (fp),
  56.        register FILE *fp)
  57. {
  58.   return __srget_r (_REENT, fp);
  59. }
  60.