From 14773e10a01ea162bb305975a4d439c52a620876 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 24 Nov 2008 17:15:43 +0000 Subject: [PATCH] * libc/include/stdio.h (__SMOD): Remove definition of unused flag. * libc/include/sys/reent.h (struct __sFILE): Add _flags2 member. * libc/stdio/findfp.c (std): Initialize _flags2. (__sfp): Ditto. * libc/stdio/refill.c (__srefill_r): Drop resetting __SMOD flag. * libc/stdio/vfscanf.c (__ssrefill_r): Ditto. * libc/stdio/fseek.c (_fseek_r): Drop checking __SMOD flag. * libc/stdio64/fseeko64.c (_fseeko64_r): Ditto. --- newlib/ChangeLog | 11 +++++++++++ newlib/libc/include/stdio.h | 1 - newlib/libc/include/sys/reent.h | 1 + newlib/libc/stdio/findfp.c | 2 ++ newlib/libc/stdio/fseek.c | 6 ++---- newlib/libc/stdio/refill.c | 1 - newlib/libc/stdio/vfscanf.c | 1 - newlib/libc/stdio64/fseeko64.c | 6 ++---- 8 files changed, 18 insertions(+), 11 deletions(-) diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 603ba60b3..33cb93680 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,14 @@ +2008-11-24 Corinna Vinschen + + * libc/include/stdio.h (__SMOD): Remove definition of unused flag. + * libc/include/sys/reent.h (struct __sFILE): Add _flags2 member. + * libc/stdio/findfp.c (std): Initialize _flags2. + (__sfp): Ditto. + * libc/stdio/refill.c (__srefill_r): Drop resetting __SMOD flag. + * libc/stdio/vfscanf.c (__ssrefill_r): Ditto. + * libc/stdio/fseek.c (_fseek_r): Drop checking __SMOD flag. + * libc/stdio64/fseeko64.c (_fseeko64_r): Ditto. + 2008-11-20 Ken Werner * libc/machine/spu/sys/linux_syscalls.h: Additional syscall defines to diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h index 3f4fa6724..1ef102fb7 100644 --- a/newlib/libc/include/stdio.h +++ b/newlib/libc/include/stdio.h @@ -78,7 +78,6 @@ typedef _fpos64_t fpos64_t; #define __SOPT 0x0400 /* do fseek() optimisation */ #define __SNPT 0x0800 /* do not do fseek() optimisation */ #define __SOFF 0x1000 /* set iff _offset is in fact correct */ -#define __SMOD 0x2000 /* true => fgetline modified _p text */ #if defined(__CYGWIN__) # define __SCLE 0x4000 /* convert line endings CR/LF <-> NL */ #endif diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h index 7857a37b3..b5d5c7da5 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -212,6 +212,7 @@ struct __sFILE { #ifndef __SINGLE_THREAD__ _flock_t _lock; /* for thread-safety locking */ #endif + int _flags2; /* for future use */ }; #ifdef __CUSTOM_FILE_IO__ diff --git a/newlib/libc/stdio/findfp.c b/newlib/libc/stdio/findfp.c index 4f613e537..0de2a7f23 100644 --- a/newlib/libc/stdio/findfp.c +++ b/newlib/libc/stdio/findfp.c @@ -46,6 +46,7 @@ _DEFUN(std, (ptr, flags, file, data), ptr->_r = 0; ptr->_w = 0; ptr->_flags = flags; + ptr->_flags2 = 0; ptr->_file = file; ptr->_bf._base = 0; ptr->_bf._size = 0; @@ -126,6 +127,7 @@ _DEFUN(__sfp, (d), found: fp->_file = -1; /* no file */ fp->_flags = 1; /* reserve this slot; caller sets real flags */ + fp->_flags2 = 0; #ifndef __SINGLE_THREAD__ __lock_init_recursive (fp->_lock); #endif diff --git a/newlib/libc/stdio/fseek.c b/newlib/libc/stdio/fseek.c index 569bad742..06c66654e 100644 --- a/newlib/libc/stdio/fseek.c +++ b/newlib/libc/stdio/fseek.c @@ -304,12 +304,10 @@ _DEFUN(_fseek_r, (ptr, fp, offset, whence), /* * If the target offset is within the current buffer, * simply adjust the pointers, clear EOF, undo ungetc(), - * and return. (If the buffer was modified, we have to - * skip this; see fgetline.c.) + * and return. */ - if ((fp->_flags & __SMOD) == 0 && - target >= curoff && target < curoff + n) + if (target >= curoff && target < curoff + n) { register int o = target - curoff; diff --git a/newlib/libc/stdio/refill.c b/newlib/libc/stdio/refill.c index 6b329a852..9e76e668a 100644 --- a/newlib/libc/stdio/refill.c +++ b/newlib/libc/stdio/refill.c @@ -105,7 +105,6 @@ _DEFUN(__srefill_r, (ptr, fp), _CAST_VOID _fwalk (_GLOBAL_REENT, lflush); fp->_p = fp->_bf._base; fp->_r = fp->_read (ptr, fp->_cookie, (char *) fp->_p, fp->_bf._size); - fp->_flags &= ~__SMOD; /* buffer contents are again pristine */ #ifndef __CYGWIN__ if (fp->_r <= 0) #else diff --git a/newlib/libc/stdio/vfscanf.c b/newlib/libc/stdio/vfscanf.c index 39c5a0a99..0b5e9750b 100644 --- a/newlib/libc/stdio/vfscanf.c +++ b/newlib/libc/stdio/vfscanf.c @@ -379,7 +379,6 @@ _DEFUN(__ssrefill_r, (ptr, fp), /* Otherwise we are out of character input. */ fp->_p = fp->_bf._base; fp->_r = 0; - fp->_flags &= ~__SMOD; /* buffer contents are again pristine */ fp->_flags |= __SEOF; return EOF; } diff --git a/newlib/libc/stdio64/fseeko64.c b/newlib/libc/stdio64/fseeko64.c index 280484e62..6f5e9af1e 100644 --- a/newlib/libc/stdio64/fseeko64.c +++ b/newlib/libc/stdio64/fseeko64.c @@ -282,12 +282,10 @@ _DEFUN (_fseeko64_r, (ptr, fp, offset, whence), /* * If the target offset is within the current buffer, * simply adjust the pointers, clear EOF, undo ungetc(), - * and return. (If the buffer was modified, we have to - * skip this; see fgetline.c.) + * and return. */ - if ((fp->_flags & __SMOD) == 0 && - target >= curoff && target < curoff + n) + if (target >= curoff && target < curoff + n) { register int o = target - curoff;