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
Showing
- libgfortran/ChangeLog 15 additions, 0 deletionslibgfortran/ChangeLog
- libgfortran/io/file_pos.c 1 addition, 0 deletionslibgfortran/io/file_pos.c
- libgfortran/io/inquire.c 1 addition, 1 deletionlibgfortran/io/inquire.c
- libgfortran/io/io.h 3 additions, 2 deletionslibgfortran/io/io.h
- libgfortran/io/open.c 1 addition, 1 deletionlibgfortran/io/open.c
- libgfortran/io/read.c 1 addition, 1 deletionlibgfortran/io/read.c
- libgfortran/io/transfer.c 21 additions, 18 deletionslibgfortran/io/transfer.c
Loading
Please register or sign in to comment