diff options
author | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-01-18 22:19:15 +0000 |
---|---|---|
committer | jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-01-18 22:19:15 +0000 |
commit | 9ed4a2e730e6b187ea7e0e73919495c2aea83f82 (patch) | |
tree | adc17376a79e9e8f8f0b079a3c49d0e77aa8cfbd /libgfortran | |
parent | 42ffbc56203d144e61e5106fc9a90bb571773b02 (diff) | |
download | gcc-9ed4a2e730e6b187ea7e0e73919495c2aea83f82.tar.gz |
2008-01-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/transfer.c (formatted_transfer_scalar): Set max_pos to the greater
of the current max_pos or the newly calculated position.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131640 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 5 | ||||
-rw-r--r-- | libgfortran/io/transfer.c | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 3a81decfc8e..25e239a6cff 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2008-01-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + * io/transfer.c (formatted_transfer_scalar): Set max_pos to the greater + of the current max_pos or the newly calculated position. + 2008-01-18 Tobias Burnus <burnus@net-b.de> * io/write.c (write_real): Increase default precision diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c index 9b9e28ef3b7..da3e3f2000c 100644 --- a/libgfortran/io/transfer.c +++ b/libgfortran/io/transfer.c @@ -948,9 +948,12 @@ formatted_transfer_scalar (st_parameter_dt *dtp, bt type, void *p, int len, { if (dtp->u.p.skips > 0) { + int tmp; write_x (dtp, dtp->u.p.skips, dtp->u.p.pending_spaces); - dtp->u.p.max_pos = (int)(dtp->u.p.current_unit->recl - - dtp->u.p.current_unit->bytes_left); + tmp = (int)(dtp->u.p.current_unit->recl + - dtp->u.p.current_unit->bytes_left); + dtp->u.p.max_pos = + dtp->u.p.max_pos > tmp ? dtp->u.p.max_pos : tmp; } if (dtp->u.p.skips < 0) { |