OSDN Git Service

2005-12-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 1 Jan 2006 02:45:22 +0000 (02:45 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 1 Jan 2006 02:45:22 +0000 (02:45 +0000)
PR libgfortran/25594
PR libgfortran/25419
* io/list_read.c (list_formatted_read_scalar): Test for comma to return
a null value (default). Revert patch of 25419 on 2005-12-28.

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

libgfortran/ChangeLog
libgfortran/io/list_read.c

index d60193a..efd38f6 100644 (file)
@@ -1,3 +1,10 @@
+2005-12-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/25594
+       PR libgfortran/25419
+       * io/list_read.c (list_formatted_read_scalar): Test for comma to return
+       a null value (default). Revert patch of 25419 on 2005-12-28.  
+
 2005-12-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
        PR libgfortran/25139
index 879cf8f..793f0e2 100644 (file)
@@ -1353,7 +1353,16 @@ list_formatted_read_scalar (st_parameter_dt *dtp, bt type, void *p, int kind,
        {                       /* Found a null value.  */
          eat_separator (dtp);
          dtp->u.p.repeat_count = 0;
-         goto cleanup;
+
+         /* eat_separator sets this flag if the separator was a comma */
+         if (dtp->u.p.comma_flag)
+           goto cleanup;
+
+         /* eat_separator sets this flag if the separator was a \n or \r */
+         if (dtp->u.p.at_eol)
+           finish_separator (dtp);
+         else
+           goto cleanup;
        }
 
     }