diff options
Diffstat (limited to 'newlib/libc/stdio/fgets.c')
-rw-r--r-- | newlib/libc/stdio/fgets.c | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/newlib/libc/stdio/fgets.c b/newlib/libc/stdio/fgets.c index f5dde4903..46e190077 100644 --- a/newlib/libc/stdio/fgets.c +++ b/newlib/libc/stdio/fgets.c @@ -16,9 +16,9 @@ */ /* -FUNCTION -<<fgets>>---get character string from a file or stream +FUNCTION + <<fgets>>---get character string from a file or stream INDEX fgets @@ -54,10 +54,10 @@ Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>, <<lseek>>, <<read>>, <<sbrk>>, <<write>>. */ -#include <_ansi.h> #include <stdio.h> #include <string.h> -#include "local.h" + +extern int __srefill (); /* * Read at most n-1 characters from the given file. @@ -66,10 +66,10 @@ Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>, */ char * -_DEFUN(fgets, (buf, n, fp), - char *buf _AND - int n _AND - FILE * fp) +_DEFUN (fgets, (buf, n, fp), + char *buf _AND + int n _AND + FILE * fp) { size_t len; char *s; @@ -80,15 +80,13 @@ _DEFUN(fgets, (buf, n, fp), s = buf; - CHECK_INIT(_REENT); - - _flockfile (fp); + _flockfile(fp); #ifdef __SCLE if (fp->_flags & __SCLE) { int c; /* Sorry, have to do it the slow way */ - while (--n > 0 && (c = __sgetc (fp)) != EOF) + while (--n > 0 && (c = __sgetc(fp)) != EOF) { *s++ = c; if (c == '\n') @@ -96,11 +94,11 @@ _DEFUN(fgets, (buf, n, fp), } if (c == EOF && s == buf) { - _funlockfile (fp); + _funlockfile(fp); return NULL; } *s = 0; - _funlockfile (fp); + _funlockfile(fp); return buf; } #endif @@ -118,7 +116,7 @@ _DEFUN(fgets, (buf, n, fp), /* EOF: stop with partial or no line */ if (s == buf) { - _funlockfile (fp); + _funlockfile(fp); return 0; } break; @@ -141,18 +139,18 @@ _DEFUN(fgets, (buf, n, fp), len = ++t - p; fp->_r -= len; fp->_p = t; - _CAST_VOID memcpy ((_PTR) s, (_PTR) p, len); + (void) memcpy ((_PTR) s, (_PTR) p, len); s[len] = 0; - _funlockfile (fp); + _funlockfile(fp); return (buf); } fp->_r -= len; fp->_p += len; - _CAST_VOID memcpy ((_PTR) s, (_PTR) p, len); + (void) memcpy ((_PTR) s, (_PTR) p, len); s += len; } while ((n -= len) != 0); *s = 0; - _funlockfile (fp); + _funlockfile(fp); return buf; } |