summaryrefslogtreecommitdiff
path: root/libgfortran/io/read.c
diff options
context:
space:
mode:
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>2006-09-15 13:16:15 +0000
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>2006-09-15 13:16:15 +0000
commit3c43c91f0de690634b3936417bf071951264ee8c (patch)
treea336065f8c97480fad109a951d2c4da52142fd4a /libgfortran/io/read.c
parent1db61145aec790fea24e667b0e2059ac835e6b83 (diff)
downloadgcc-3c43c91f0de690634b3936417bf071951264ee8c.tar.gz
2006-09-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/29053 * io.h (gfc_unit): Add variable, strm_pos, to track STREAM I/O file position. * file_pos.c (st_rewind): Set strm_pos to beginning. * open.c (new_unit): Initialize strm_pos. * read.c (read_x): Bump strm_pos. * inquire.c (inquire_via_unit): Return strm_pos value. * transfer.c (read_block),(read_block_direct),(write_block) (write_buf): Seek to strm_pos - 1. Update strm_pos when done. (pre_position): Initialize strm_pos. (data_transfer_init): Set strm_pos if DT_HAS_REC. (finalize_transfer): Flush file, no need to update strm_pos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116970 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran/io/read.c')
-rw-r--r--libgfortran/io/read.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libgfortran/io/read.c b/libgfortran/io/read.c
index db9ff99cd12..9477425e659 100644
--- a/libgfortran/io/read.c
+++ b/libgfortran/io/read.c
@@ -853,5 +853,5 @@ read_x (st_parameter_dt *dtp, int n)
dtp->u.p.sf_read_comma = 1;
}
else
- dtp->rec += (GFC_IO_INT) n;
+ dtp->u.p.current_unit->strm_pos += (gfc_offset) n;
}