aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgfortran/ChangeLog7
-rw-r--r--libgfortran/io/list_read.c11
2 files changed, 17 insertions, 1 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index d60193a..efd38f6 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -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
diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c
index 879cf8f..793f0e2 100644
--- a/libgfortran/io/list_read.c
+++ b/libgfortran/io/list_read.c
@@ -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;
}
}