Commit 0b4d979f by Jerry DeLisle

re PR fortran/42090 (I/O: Problems when reading partial records in formatted direct access files)

2009-11-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/42090
	* io/transfer.c (skip_record): Set bytes_left_subrecord to zero after
	skipping the remaining bytes in the record.
	(next_record_r): Call skip_record with the number of bytes_left to be
	skipped.

From-SVN: r154316
parent 271cb024
2009-11-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/42090
* io/transfer.c (skip_record): Set bytes_left_subrecord to zero after
skipping the remaining bytes in the record.
(next_record_r): Call skip_record with the number of bytes_left to be
skipped.
2009-11-02 Janne Blomqvist <jb@gcc.gnu.org>
* Makefile.am (gfor_io_headers): Add fbuf.h, format.h, unix.h.
......
......@@ -2661,6 +2661,8 @@ skip_record (st_parameter_dt *dtp, ssize_t bytes)
if (sseek (dtp->u.p.current_unit->s,
dtp->u.p.current_unit->bytes_left_subrecord, SEEK_CUR) < 0)
generate_error (&dtp->common, LIBERROR_OS, NULL);
dtp->u.p.current_unit->bytes_left_subrecord = 0;
}
else
{ /* Seek by reading data. */
......@@ -2741,7 +2743,7 @@ next_record_r (st_parameter_dt *dtp)
case FORMATTED_DIRECT:
case UNFORMATTED_DIRECT:
skip_record (dtp, 0);
skip_record (dtp, dtp->u.p.current_unit->bytes_left);
break;
case FORMATTED_STREAM:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment