From 3c738dbd5f821f7bdc2aaeb20a227df354f646fe Mon Sep 17 00:00:00 2001
From: rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Sat, 26 Nov 2005 22:54:14 +0000
Subject: [PATCH]         * io/list_read.c (nml_parse_qualifier): Use ssize_t
 instead of int         in dtp->u.p.value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107545 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libgfortran/ChangeLog      |  5 +++++
 libgfortran/io/list_read.c | 10 +++++-----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 03629e24f88a..d0bae6e2c90b 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 1eb38d2533be..939c4a10683c 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;
-- 
GitLab