summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgfortran/ChangeLog6
-rw-r--r--libgfortran/io/transfer.c2
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;