2011-03-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/47778
* io/list_read.c (namelist_read): Intialize the error string buffere.
If pprev_nl was used during the previous namelist read and the rank
was zero, reset the pointer to NULL for the next namelist read.
From-SVN: r170726
+2011-03-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47778
+ * io/list_read.c (namelist_read): Intialize the error string buffere.
+ If pprev_nl was used during the previous namelist read and the rank
+ was zero, reset the pointer to NULL for the next namelist read.
+
2011-03-04 Jakub Jelinek <jakub@redhat.com>
Backport from mainline
char c;
jmp_buf eof_jump;
char nml_err_msg[200];
+
+ /* Initialize the error string buffer just in case we get an unexpected fail
+ somewhere and end up at nml_err_ret. */
+ strcpy (nml_err_msg, "Internal namelist read error");
+
/* Pointer to the previously read object, in case attempt is made to read
new object name. Should this fail, error message can give previous
name. */
}
}
- }
+ /* Reset the previous namelist pointer if we know we are not going
+ to be doing multiple reads within a single namelist object. */
+ if (prev_nl && prev_nl->var_rank == 0)
+ prev_nl = NULL;
+ }
dtp->u.p.eof_jump = NULL;
free_saved (dtp);