diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index c3425893e00..4dbc337a2d3 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,9 +1,15 @@ +2007-03-27 Jerry DeLisle + + PR libgfortran/31052 + * io/transfer.c (next_record_r): Do not call test_endfile if in namelist + mode. + 2007-03-25 Jerry DeLisle PR libgfortran/31199 - *io/io.h: Add saved_pos to gfc_unit structure. - *io/open.c (new_unit): Initialize saved_pos. - *io/transfer.c (data_transfer_init): Set max_pos to value in saved_pos. + * io/io.h: Add saved_pos to gfc_unit structure. + * io/open.c (new_unit): Initialize saved_pos. + * io/transfer.c (data_transfer_init): Set max_pos to value in saved_pos. (next_record_w): Fix whitespace. (finalze_transfer): Calculate max_pos for ADVANCE="no" and save it for later use. If not ADVANCE="no" set saved_pos to zero. diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c index 94bda09587b..2555898e112 100644 --- a/libgfortran/io/transfer.c +++ b/libgfortran/io/transfer.c @@ -2228,7 +2228,8 @@ next_record_r (st_parameter_dt *dtp) break; } - if (dtp->u.p.current_unit->flags.access == ACCESS_SEQUENTIAL) + if (dtp->u.p.current_unit->flags.access == ACCESS_SEQUENTIAL + && !dtp->u.p.namelist_mode) test_endfile (dtp->u.p.current_unit); }