rewind.c (st_rewind): Flush the stream when resetting the mode from WRITING to READING.

* io/rewind.c (st_rewind): Flush the stream when resetting the mode
        from WRITING to READING.

From-SVN: r98788
This commit is contained in:
David Edelsohn 2005-04-26 15:27:11 -04:00
parent 2705487a7e
commit 9adcdfb365
2 changed files with 14 additions and 5 deletions

View File

@ -1,5 +1,10 @@
2005-04-18 Paul Thomas <pault@gcc.gnu.org>
Jerry DeLisle <jvdelisle@verizon.net>
2005-04-26 David Edelsohn <edelsohn@gnu.org>
* io/rewind.c (st_rewind): Flush the stream when resetting the mode
from WRITING to READING.
2005-04-22 Paul Thomas <pault@gcc.gnu.org>
Jerry DeLisle <jvdelisle@verizon.net>
* io/write.c (nml_write_obj): Provide 1 more byte for ext_name.
* io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem

View File

@ -54,9 +54,13 @@ st_rewind (void)
/* If we have been writing to the file, the last written record
is the last record in the file, so truncate the file now.
Reset to read mode so two consecutive rewind statements
don't delete the file contents. */
if (u->mode==WRITING)
struncate(u->s);
don't delete the file contents. Flush buffer when switching
mode. */
if (u->mode == WRITING)
{
flush (u->s);
struncate (u->s);
}
u->mode = READING;
u->last_record = 0;
if (sseek (u->s, 0) == FAILURE)