aboutsummaryrefslogtreecommitdiff
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 f46b469..1d57faa 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,9 @@
+2005-12-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/25463
+ * io/transfer.c (finalize_transfer): Fix execution order so that
+ next_record is set to zero in all cases.
+
2005-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/25264
diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c
index 7696643..7ad1fffc 100644
--- a/libgfortran/io/transfer.c
+++ b/libgfortran/io/transfer.c
@@ -2017,6 +2017,7 @@ finalize_transfer (st_parameter_dt *dtp)
finish_list_read (dtp);
else
{
+ dtp->u.p.current_unit->current_record = 0;
if (dtp->u.p.advance_status == ADVANCE_NO || dtp->u.p.seen_dollar)
{
/* Most systems buffer lines, so force the partial record
@@ -2027,7 +2028,6 @@ finalize_transfer (st_parameter_dt *dtp)
}
next_record (dtp, 1);
- dtp->u.p.current_unit->current_record = 0;
}
sfree (dtp->u.p.current_unit->s);