Use freadptr's return value.
authorBruno Haible <bruno@clisp.org>
Sun, 30 Mar 2008 09:32:20 +0000 (11:32 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 30 Mar 2008 09:32:20 +0000 (11:32 +0200)
ChangeLog
lib/freadseek.c

index 4d73601..e021282 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-30  Bruno Haible  <bruno@clisp.org>
+
+       * lib/freadseek.c (freadseek): Don't ignore the return value of
+       freadptr.
+
 2008-03-29  Eric Blake  <ebb9@byu.net>
 
        Add hex float support.
index 37aeab7..9e56ccc 100644 (file)
@@ -34,12 +34,11 @@ freadseek (FILE *fp, size_t offset)
     return 0;
 
   /* Increment the in-memory pointer.  This is very cheap (no system calls).  */
-  freadptr (fp, &buffered);
-  if (buffered > 0)
+  if (freadptr (fp, &buffered) != NULL && buffered > 0)
     {
       size_t increment = (buffered < offset ? buffered : offset);
 
-      /* Keep this code in sync with freadahead and freadptr!  */
+      /* Keep this code in sync with freadptr!  */
 #if defined _IO_ferror_unlocked     /* GNU libc, BeOS */
       fp->_IO_read_ptr += increment;
 #elif defined __sferror             /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */