aboutsummaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2001-10-24 18:10:30 +0000
committerJeff Johnston <jjohnstn@redhat.com>2001-10-24 18:10:30 +0000
commitd0504c353f6fe828817404eaad21bc4af114fc54 (patch)
tree49c005956f662e15fe0b324ae5e125b4390319b6 /newlib
parenta83037821314fead515198f88a9b83e29e66ca2f (diff)
downloadnewlib-d0504c353f6fe828817404eaad21bc4af114fc54.zip
newlib-d0504c353f6fe828817404eaad21bc4af114fc54.tar.gz
newlib-d0504c353f6fe828817404eaad21bc4af114fc54.tar.bz2
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/ChangeLog7
-rw-r--r--newlib/libc/stdio/fseek.c1
2 files changed, 8 insertions, 0 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index dbf7db1..4ecd47a 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 d22292e..1b72989 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;