OSDN Git Service

2005-12-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 19 Dec 2005 06:52:33 +0000 (06:52 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 19 Dec 2005 06:52:33 +0000 (06:52 +0000)
PR libgfortran/25463
* io/transfer.c (finalize_transfer): Fix execution order so that
next_record is set to zero in all cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108784 138bc75d-0d04-0410-961f-82ee72b054a4

libgfortran/ChangeLog
libgfortran/io/transfer.c

index f46b469..1d57faa 100644 (file)
@@ -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
index 7696643..7ad1fff 100644 (file)
@@ -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);