diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2001-10-24 22:10:30 +0400 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2001-10-24 22:10:30 +0400 |
commit | d0504c353f6fe828817404eaad21bc4af114fc54 (patch) | |
tree | 49c005956f662e15fe0b324ae5e125b4390319b6 /newlib | |
parent | a83037821314fead515198f88a9b83e29e66ca2f (diff) |
2001-10-24 Christopher Faylor <cgf@redhat.com>
* libc/stdio/fseek.c: Reset pointer to buffer base
when forced to seek outside of current buffer contents.
This prevents the code from erroneously thinking there is
anything in the current buffer.
Diffstat (limited to 'newlib')
-rw-r--r-- | newlib/ChangeLog | 7 | ||||
-rw-r--r-- | newlib/libc/stdio/fseek.c | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog index dbf7db16f..4ecd47a45 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,10 @@ +2001-10-24 Christopher Faylor <cgf@redhat.com> + + * libc/stdio/fseek.c: Reset pointer to buffer base + when forced to seek outside of current buffer contents. + This prevents the code from erroneously thinking there is + anything in the current buffer. + 2001-10-22 Geoffrey Keating <geoffk@redhat.com> * libc/include/math.h: The C++ standard adds the single-precision diff --git a/newlib/libc/stdio/fseek.c b/newlib/libc/stdio/fseek.c index d22292e97..1b7298914 100644 --- a/newlib/libc/stdio/fseek.c +++ b/newlib/libc/stdio/fseek.c @@ -278,6 +278,7 @@ fseek (fp, offset, whence) if ((*seekfn) (fp->_cookie, curoff, SEEK_SET) == POS_ERR) goto dumb; fp->_r = 0; + fp->_p = fp->_bf._base; if (HASUB (fp)) FREEUB (fp); fp->_flags &= ~__SEOF; |