From d0d51277e27bdccd8fa3916b8a69c1afc1685645 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Tue, 6 May 2008 04:00:38 +0000 Subject: [PATCH] re PR libfortran/36131 (wrong IO) 2008-05-05 Jerry DeLisle PR libfortran/36131 * io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974. (next_record_w): Likewise. From-SVN: r134973 --- libgfortran/ChangeLog | 6 ++++++ libgfortran/io/transfer.c | 8 +------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 9da45d503c5..26ad0395b64 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2008-05-05 Jerry DeLisle + + PR libfortran/36131 + * io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974. + (next_record_w): Likewise. + 2008-05-04 Thomas Koenig PR libfortran/35995 diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c index 8741758e61d..7071ab9128a 100644 --- a/libgfortran/io/transfer.c +++ b/libgfortran/io/transfer.c @@ -1303,11 +1303,6 @@ formatted_transfer_scalar (st_parameter_dt *dtp, bt type, void *p, int len, else read_x (dtp, dtp->u.p.skips); } - else - { - if (dtp->u.p.skips < 0) - flush (dtp->u.p.current_unit->s); - } break; @@ -2682,8 +2677,7 @@ next_record_w (st_parameter_dt *dtp, int done) if (max_pos > m) { length = (int) (max_pos - m); - sseek (dtp->u.p.current_unit->s, - file_position (dtp->u.p.current_unit->s) + length); + p = salloc_w (dtp->u.p.current_unit->s, &length); } #ifdef HAVE_CRLF len = 2; -- 2.30.2