re PR libfortran/36131 (wrong IO)
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Tue, 6 May 2008 04:00:38 +0000 (04:00 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Tue, 6 May 2008 04:00:38 +0000 (04:00 +0000)
2008-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/36131
* io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974.
(next_record_w): Likewise.

From-SVN: r134973

libgfortran/ChangeLog
libgfortran/io/transfer.c

index 9da45d503c5f86af5fa9f9dd4b6271103d456d06..26ad0395b6418dcfe0d316d22eb08cde736bf1a2 100644 (file)
@@ -1,3 +1,9 @@
+2008-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/36131
+       * io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974.
+       (next_record_w): Likewise.
+
 2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
        PR libfortran/35995
index 8741758e61d023dc5cc77f7ec1468772cc6f9183..7071ab9128aa5454b18d02fb58c6679cee63e33d 100644 (file)
@@ -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;