re PR libfortran/19872 ([4.0 only] closed and re-opened file not overwriten)

PR fortran/19872
* io/transfer.c (data_transfer_init): truncate an existing
  file on the first write.

Co-Authored-By: Steven G. Kargl <kargls@comcast.net>

From-SVN: r97937
This commit is contained in:
Bud Davis 2005-04-10 03:43:09 +00:00 committed by Steven G. Kargl
parent 70370fa031
commit 48248fa771
2 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2005-04-09 Bud Davis <bdavis@gfortran.org>
Steven G. Kargl <kargls@comcast.net>
PR fortran/19872
* io/transfer.c (data_transfer_init): truncate an existing
file on the first write.
2005-04-09 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/19106

View File

@ -1103,6 +1103,13 @@ data_transfer_init (int read_flag)
generate_error (ERROR_OS, NULL);
}
/* Overwriting an existing sequential file ?
it is always safe to truncate the file on the first write */
if (g.mode == WRITING
&& current_unit->flags.access == ACCESS_SEQUENTIAL
&& current_unit->current_record == 0)
struncate(current_unit->s);
current_unit->mode = g.mode;
/* Set the initial value of flags. */