* io/io.h (flush): Add prototype.
* io/transfer.c (finalize_transfer): Flush partial records.
* io/unix.c (flush): New function.
From-SVN: r81913
+2004-05-16 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ * io/io.h (flush): Add prototype.
+ * io/transfer.c (finalize_transfer): Flush partial records.
+ * io/unix.c (flush): New function.
+
2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/15234
#define empty_internal_buffer prefix(empty_internal_buffer)
void empty_internal_buffer(stream *);
+#define flush prefix(flush)
+try flush (stream *);
+
/* unit.c */
free_fnodes ();
if (advance_status == ADVANCE_NO)
- return;
+ {
+ /* Most systems buffer lines, so force the partial record
+ to be written out. */
+ flush (current_unit->s);
+ return;
+ }
+
next_record (1);
current_unit->current_record = 0;
}
return ((unix_stream *) s)->mmaped;
}
+try
+flush (stream *s)
+{
+ return fd_flush( (unix_stream *) s);
+}
+
/* How files are stored: This is an operating-system specific issue,
and therefore belongs here. There are three cases to consider.