(flushbuf): When there is no new data after priming the stream,
authorroland <roland>
Wed, 8 Feb 1995 02:02:39 +0000 (02:02 +0000)
committerroland <roland>
Wed, 8 Feb 1995 02:02:39 +0000 (02:02 +0000)
return without writing out the buffer.

stdio/internals.c

index f38bebe..b01c5bd 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -264,6 +264,14 @@ DEFUN(flushbuf, (fp, c),
                flush_only = 1;
            }
        }
+
+      if (fp->__bufp - fp->__buffer <= buffer_offset)
+       {
+         /* There is nothing new in the buffer, only data that
+            was read back aligned from the file.  */
+         buffer_written = 0;
+         goto end;
+       }
     }
 
   /* If there is read data in the buffer past what was written,