diff options
Diffstat (limited to 'libgfortran/io/transfer.c')
-rw-r--r-- | libgfortran/io/transfer.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c index ddf5d00..a7632da 100644 --- a/libgfortran/io/transfer.c +++ b/libgfortran/io/transfer.c @@ -2013,7 +2013,7 @@ init_loop_spec (gfc_array_char *desc, array_loop_spec *ls) index = 1; for (i=0; i<rank; i++) { - ls[i].idx = 1; + ls[i].idx = desc->dim[i].lbound; ls[i].start = desc->dim[i].lbound; ls[i].end = desc->dim[i].ubound; ls[i].step = desc->dim[i].stride; @@ -2050,8 +2050,9 @@ next_array_record (st_parameter_dt *dtp, array_loop_spec *ls) else carry = 0; } - index = index + (ls[i].idx - 1) * ls[i].step; + index = index + (ls[i].idx - ls[i].start) * ls[i].step; } + return index; } |