Commit 9985dd8a by Jerry DeLisle

re PR libfortran/26464 (Runtime I/O error/invald argument on READ)

2006-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/26464
	* io/file_pos.c (st_backspace): Flush and truncate file
	when in AFTER_ENDFILE condition.
	* io/transfer.c (st_read_done): Remove flush, no longer needed.

From-SVN: r111506
parent f2b5129c
2006-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/26464
* io/file_pos.c (st_backspace): Flush and truncate file
when in AFTER_ENDFILE condition.
* io/transfer.c (st_read_done): Remove flush, no longer needed.
2006-02-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2006-02-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/26423 PR libgfortran/26423
......
/* Copyright (C) 2002-2003, 2005 Free Software Foundation, Inc. /* Copyright (C) 2002-2003, 2005, 2006 Free Software Foundation, Inc.
Contributed by Andy Vaught and Janne Blomqvist Contributed by Andy Vaught and Janne Blomqvist
This file is part of the GNU Fortran runtime library (libgfortran). This file is part of the GNU Fortran runtime library (libgfortran).
...@@ -161,7 +161,11 @@ st_backspace (st_parameter_filepos *fpp) ...@@ -161,7 +161,11 @@ st_backspace (st_parameter_filepos *fpp)
/* Check for special cases involving the ENDFILE record first. */ /* Check for special cases involving the ENDFILE record first. */
if (u->endfile == AFTER_ENDFILE) if (u->endfile == AFTER_ENDFILE)
u->endfile = AT_ENDFILE; {
u->endfile = AT_ENDFILE;
flush (u->s);
struncate (u->s);
}
else else
{ {
if (file_position (u->s) == 0) if (file_position (u->s) == 0)
......
...@@ -2159,7 +2159,6 @@ export_proto(st_read_done); ...@@ -2159,7 +2159,6 @@ export_proto(st_read_done);
void void
st_read_done (st_parameter_dt *dtp) st_read_done (st_parameter_dt *dtp)
{ {
flush(dtp->u.p.current_unit->s);
finalize_transfer (dtp); finalize_transfer (dtp);
free_format_data (dtp); free_format_data (dtp);
free_ionml (dtp); free_ionml (dtp);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment