Commit d5f9d080 by Jerry DeLisle

re PR libfortran/31880 ([4.2 only] silent data corruption in gfortran read statement)

2007-05-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31880
	* io/unix.c (fd_alloc_r_at): Fix calculation of physical offset.

From-SVN: r124588
parent 4b077790
2007-05-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/31880
* io/unix.c (fd_alloc_r_at): Fix calculation of physical offset.
2007-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 2007-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR libfortran/31607 PR libfortran/31607
......
...@@ -492,7 +492,7 @@ fd_alloc_r_at (unix_stream * s, int *len, gfc_offset where) ...@@ -492,7 +492,7 @@ fd_alloc_r_at (unix_stream * s, int *len, gfc_offset where)
if (n < 0) if (n < 0)
return NULL; return NULL;
s->physical_offset = where + n; s->physical_offset = m + n;
s->active += n; s->active += n;
} }
else else
...@@ -503,7 +503,7 @@ fd_alloc_r_at (unix_stream * s, int *len, gfc_offset where) ...@@ -503,7 +503,7 @@ fd_alloc_r_at (unix_stream * s, int *len, gfc_offset where)
if (do_read (s, s->buffer + s->active, &n) != 0) if (do_read (s, s->buffer + s->active, &n) != 0)
return NULL; return NULL;
s->physical_offset = where + n; s->physical_offset = m + n;
s->active += n; s->active += n;
} }
......
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