diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 03629e24f88a529d78589bb46e029673755844a0..d0bae6e2c90b45257eebbe56263d0535a0dc6f36 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2005-11-26 Richard Henderson <rth@redhat.com> + + * io/list_read.c (nml_parse_qualifier): Use ssize_t instead of int + in dtp->u.p.value. + 2005-11-26 Janne Blomqvist <jb@gcc.gnu.org> PR libgfortran/24945 diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c index 1eb38d2533be9de74aa30f5a718f7dd2c36ab397..939c4a10683c3e278769487148c7cd61e725a751 100644 --- a/libgfortran/io/list_read.c +++ b/libgfortran/io/list_read.c @@ -1563,7 +1563,7 @@ nml_parse_qualifier (st_parameter_dt *dtp, descriptor_dimension *ad, } /* Now read the index. */ - if (convert_integer (dtp, sizeof(int), neg)) + if (convert_integer (dtp, sizeof(ssize_t), neg)) { st_sprintf (parse_err_msg, "Bad integer in index"); goto err_ret; @@ -1575,11 +1575,11 @@ nml_parse_qualifier (st_parameter_dt *dtp, descriptor_dimension *ad, if (!null_flag) { if (indx == 0) - memcpy (&ls[dim].start, dtp->u.p.value, sizeof(int)); + memcpy (&ls[dim].start, dtp->u.p.value, sizeof(ssize_t)); if (indx == 1) - memcpy (&ls[dim].end, dtp->u.p.value, sizeof(int)); + memcpy (&ls[dim].end, dtp->u.p.value, sizeof(ssize_t)); if (indx == 2) - memcpy (&ls[dim].step, dtp->u.p.value, sizeof(int)); + memcpy (&ls[dim].step, dtp->u.p.value, sizeof(ssize_t)); } /* Singlet or doublet indices. */ @@ -1587,7 +1587,7 @@ nml_parse_qualifier (st_parameter_dt *dtp, descriptor_dimension *ad, { if (indx == 0) { - memcpy (&ls[dim].start, dtp->u.p.value, sizeof(int)); + memcpy (&ls[dim].start, dtp->u.p.value, sizeof(ssize_t)); ls[dim].end = ls[dim].start; } break;