]> gcc.gnu.org Git - gcc.git/commitdiff
transfer.c (formatted_transfer_scalar): Set max_pos to the greater of the current...
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Fri, 18 Jan 2008 22:19:15 +0000 (22:19 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Fri, 18 Jan 2008 22:19:15 +0000 (22:19 +0000)
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.

From-SVN: r131640

libgfortran/ChangeLog
libgfortran/io/transfer.c

index 3a81decfc8e4e85060433ddc30ecc868362a4a5b..25e239a6cffd70c51946dfaed5c46f4e901cf126 100644 (file)
@@ -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
index 9b9e28ef3b7aafbba059c4757b91f3dfe5753f12..da3e3f2000c557f0a84f6bb2c5fd876c04338c72 100644 (file)
@@ -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)
            {
This page took 3.109388 seconds and 5 git commands to generate.