diff options
-rw-r--r-- | libgfortran/ChangeLog | 6 | ||||
-rw-r--r-- | libgfortran/io/transfer.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index e725012e0f5..35f21d90eb7 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2005-08-04 Paul Thomas <pault@gcc.gnu.org> + + * transfer.c (data_transfer_init): Truncate file in + sequential WRITE when last_record == 0, rather than + current_record. Cures problem on RH9. + 2005-08-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> * libgfortran.h: When isfinite is not provided by the system, diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c index 357e090f2b7..72cc2b9bcbb 100644 --- a/libgfortran/io/transfer.c +++ b/libgfortran/io/transfer.c @@ -1171,7 +1171,7 @@ data_transfer_init (int read_flag) it is always safe to truncate the file on the first write */ if (g.mode == WRITING && current_unit->flags.access == ACCESS_SEQUENTIAL - && current_unit->current_record == 0) + && current_unit->last_record == 0) struncate(current_unit->s); current_unit->mode = g.mode; |