diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 20a07192b6d..6763ad1a993 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2009-04-18 Janne Blomqvist + + PR libfortran/39782 + * io/transfer.c (data_transfer_init): Don't flush before seek. + (finalize_transfer): Remove extra flush. + 2009-04-17 Janne Blomqvist * io/io.h (is_preconnected): Remove prototype. diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c index 94454a6776f..27ae8994918 100644 --- a/libgfortran/io/transfer.c +++ b/libgfortran/io/transfer.c @@ -2332,7 +2332,6 @@ data_transfer_init (st_parameter_dt *dtp, int read_flag) if (dtp->pos != dtp->u.p.current_unit->strm_pos) { fbuf_flush (dtp->u.p.current_unit, dtp->u.p.mode); - sflush (dtp->u.p.current_unit->s); if (sseek (dtp->u.p.current_unit->s, dtp->pos - 1, SEEK_SET) < 0) { generate_error (&dtp->common, LIBERROR_OS, NULL); @@ -3143,11 +3142,6 @@ finalize_transfer (st_parameter_dt *dtp) && dtp->u.p.advance_status != ADVANCE_NO) next_record (dtp, 1); - if (dtp->u.p.current_unit->flags.form == FORM_UNFORMATTED - && stell (dtp->u.p.current_unit->s) >= dtp->rec) - { - sflush (dtp->u.p.current_unit->s); - } return; }