diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2013-10-23 10:04:43 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2013-10-23 10:04:43 +0000 |
commit | 0c3d8e5ab5f177ae080bf7afa2cbdc5ebcc9f401 (patch) | |
tree | 4a947f48e5edc605a8b04cc9c9033e010a665448 /newlib/libc/stdio/fflush.c | |
parent | 27f8495dd59a4d5827040ab599ef457ee9e21af6 (diff) | |
download | cygnal-0c3d8e5ab5f177ae080bf7afa2cbdc5ebcc9f401.tar.gz cygnal-0c3d8e5ab5f177ae080bf7afa2cbdc5ebcc9f401.tar.bz2 cygnal-0c3d8e5ab5f177ae080bf7afa2cbdc5ebcc9f401.zip |
* libc/include/stdio.h (funopen): Change prototype of
__readfn and __writefn parameter to match new definition of
FILE's _read and _write methods.
(_funopen_r): Ditto.
(funopen): Ditto.
(_funopen_r): Ditto.
* libc/include/sys/config.h (_READ_WRITE_BUFSIZE_TYPE) Define
as type int if not already defined. Add comment to explain.
* libc/include/sys/reent.h: Include stddef.h.
(struct __sFILE): Change type of last parameter in declaration
of _read and _write methods to _READ_WRITE_BUFSIZE_TYPE.
(struct __sFILE64): Ditto.
* libc/stdio/local.h (__sread): Declare with last parameter set
to _READ_WRITE_BUFSIZE_TYPE.
(__seofread): Ditto.
(__swrite): Ditto.
(__swrite64): Ditto.
* libc/stdio/fvwrite.c (__sfvwrite_r): Change type of local
variables w and s to _READ_WRITE_RETURN_TYPE.
* libc/stdio/fflush.c (__sflush_r): Change type of local variables
n and t to _READ_WRITE_BUFSIZE_TYPE and _READ_WRITE_RETURN_TYPE.
Add local variables flags to keep _flags value.
* libc/stdio/fmemopen.c (fmemreader): Align to above change.
(fmemwriter): Ditto.
* libc/stdio/fopencookie.c (fcreader): Ditto.
(fcwriter): Ditto.
* libc/stdio/funopen.c (funread): Ditto.
(funwrite): Ditto.
(funreader): Ditto.
(funwriter): Ditto.
* libc/stdio/open_memstream.c (memwriter): Ditto.
* libc/stdio/stdio.c (__sread): Ditto.
(__seofread): Ditto.
(__swrite): Ditto.
* libc/stdio64/stdio64.c (__swrite64): Ditto.
Diffstat (limited to 'newlib/libc/stdio/fflush.c')
-rw-r--r-- | newlib/libc/stdio/fflush.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/newlib/libc/stdio/fflush.c b/newlib/libc/stdio/fflush.c index ee24cf7ca..ea48b0126 100644 --- a/newlib/libc/stdio/fflush.c +++ b/newlib/libc/stdio/fflush.c @@ -75,10 +75,12 @@ _DEFUN(__sflush_r, (ptr, fp), register FILE * fp) { register unsigned char *p; - register int n, t; + register _READ_WRITE_BUFSIZE_TYPE n; + register _READ_WRITE_RETURN_TYPE t; + short flags; - t = fp->_flags; - if ((t & __SWR) == 0) + flags = fp->_flags; + if ((flags & __SWR) == 0) { #ifdef _FSEEK_OPTIMIZATION /* For a read stream, an fflush causes the next seek to be @@ -186,7 +188,7 @@ _DEFUN(__sflush_r, (ptr, fp), * write function. */ fp->_p = p; - fp->_w = t & (__SLBF | __SNBF) ? 0 : fp->_bf._size; + fp->_w = flags & (__SLBF | __SNBF) ? 0 : fp->_bf._size; while (n > 0) { |