[GRASS-SVN] r30859 - in grass/trunk/raster: r.in.mat r.out.mat

svn_grass at osgeo.org svn_grass at osgeo.org
Fri Apr 4 09:32:10 EDT 2008


Author: glynn
Date: 2008-04-04 09:32:10 -0400 (Fri, 04 Apr 2008)
New Revision: 30859

Modified:
   grass/trunk/raster/r.in.mat/main.c
   grass/trunk/raster/r.out.mat/main.c
Log:
Use int instead of long to avoid issues on 64-bit systems



Modified: grass/trunk/raster/r.in.mat/main.c
===================================================================
--- grass/trunk/raster/r.in.mat/main.c	2008-04-04 09:08:19 UTC (rev 30858)
+++ grass/trunk/raster/r.in.mat/main.c	2008-04-04 13:32:10 UTC (rev 30859)
@@ -52,13 +52,13 @@
     int machine_endianness, file_endianness, endian_mismatch;  /* 0=little, 1=big */
     int data_format; /* 0=double  1=float  2=32bit signed int  5=8bit unsigned int (ie text) */
     int data_type;   /* 0=numbers  1=text */
-    long format_block;  /* combo of endianness, 0, data_format, and type */
-    static long realflag = 0;  /* 0=only real values used */
+    int format_block;  /* combo of endianness, 0, data_format, and type */
+    int realflag = 0;  /* 0=only real values used */
     /* should type be specifically uint32 ??? */
 
     char array_name[65];
     int name_len;
-    long mrows, ncols;  /* text/data/map array dimensions*/
+    int mrows, ncols;  /* text/data/map array dimensions*/
 
     int *pval_i;	/* for misc use */
     float *pval_f;	/* for misc use */
@@ -141,7 +141,7 @@
     have_n = have_s = have_e = have_w = 0;
 
     /* Check Endian State of File */
-    fread(&format_block, sizeof(long), 1, fp1);
+    fread(&format_block, sizeof(int), 1, fp1);
     fseek(fp1, 0, SEEK_SET);  /* frewind() */
 
     file_endianness = format_block / 1000;  /* 0=little, 1=big */
@@ -163,7 +163,7 @@
     while (!feof(fp1)) {
 
 	/* scan for needed array variables */
-	fread(&format_block, sizeof(long), 1, fp1);
+	fread(&format_block, sizeof(int), 1, fp1);
 
 	if(feof(fp1))
 	    break;
@@ -181,19 +181,19 @@
 
 
 	/* 4 byte number of rows & columns */
-	fread(&mrows, sizeof(long), 1, fp1);
-	fread(&ncols, sizeof(long), 1, fp1);
+	fread(&mrows, sizeof(int), 1, fp1);
+	fread(&ncols, sizeof(int), 1, fp1);
 	if(mrows < 1 || ncols < 1)
 	    G_fatal_error(_("Array contains no data"));
 
 	/* 4 byte real/imag flag   0=real vals only */
-	fread(&realflag, sizeof(long), 1, fp1);
+	fread(&realflag, sizeof(int), 1, fp1);
 	if(realflag != 0)
 	    G_fatal_error(_("Array contains imaginary data"));
 
 
 	/* length of array_name+1 */
-	fread(&name_len, sizeof(long), 1, fp1);
+	fread(&name_len, sizeof(int), 1, fp1);
 	if(name_len < 1)
 	    G_fatal_error(_("Invalid array name"));
 
@@ -205,11 +205,11 @@
 	}
 
 	G_debug(3, "array name     = [%s]", array_name);
-	G_debug(3, "  format block = [%04ld]", format_block);
+	G_debug(3, "  format block = [%04d]", format_block);
 	G_debug(3, "  data format  = [%d]", data_format);
 	G_debug(3, "  data type    = [%d]", data_type);
-	G_debug(3, "  rows         = [%ld]", mrows);
-	G_debug(3, "  cols         = [%ld]", ncols);
+	G_debug(3, "  rows         = [%d]", mrows);
+	G_debug(3, "  cols         = [%d]", ncols);
 
 	if(strcmp(array_name, "map_name") == 0) {
 	    have_name = 1;
@@ -333,7 +333,7 @@
 	    }
 	}
 
-	G_debug(3, "Read array '%s' [%ld,%ld] format=%d type=%d\n", 
+	G_debug(3, "Read array '%s' [%d,%d] format=%d type=%d\n", 
 	    array_name, ncols, mrows, data_format, data_type);
 
     } /* while !EOF */

Modified: grass/trunk/raster/r.out.mat/main.c
===================================================================
--- grass/trunk/raster/r.out.mat/main.c	2008-04-04 09:08:19 UTC (rev 30858)
+++ grass/trunk/raster/r.out.mat/main.c	2008-04-04 13:32:10 UTC (rev 30859)
@@ -27,15 +27,15 @@
     int endianness;  /* 0=little, 1=big */
     int data_format;    /* 0=double  1=float  2=32bit signed int  5=8bit unsigned int (ie text) */
     int data_type;      /* 0=numbers  1=text */
-    long format_block;  /* combo of endianness, 0, data_format, and type */
-    long realflag = 0;  /* 0=only real values used */
+    int format_block;  /* combo of endianness, 0, data_format, and type */
+    int realflag = 0;  /* 0=only real values used */
     /* should type be specifically uint32 ??? */
 
     char array_name[32];  /* variable names must start with a letter (case 
 			     sensitive) followed by letters, numbers, or 
 			     underscores. 31 chars max. */
     int name_len;
-    long mrows, ncols;  /* text/data/map array dimensions*/
+    int mrows, ncols;  /* text/data/map array dimensions*/
 
     int val_i;		/* for misc use */
     float val_f;	/* for misc use */
@@ -129,19 +129,19 @@
 
     /* 4 byte data format */
     format_block = endianness*1000 + data_format*10 + data_type;
-    fwrite(&format_block, sizeof(long), 1, fp1);
+    fwrite(&format_block, sizeof(int), 1, fp1);
     /* fprintf(stderr, "name data format is [%04ld]\n", format_block); */
 
     /* 4 byte number of rows & columns */
-    fwrite(&mrows, sizeof(long), 1, fp1);
-    fwrite(&ncols, sizeof(long), 1, fp1);
+    fwrite(&mrows, sizeof(int), 1, fp1);
+    fwrite(&ncols, sizeof(int), 1, fp1);
 
     /* 4 byte real/imag flag   0=real vals only */
-    fwrite(&realflag, sizeof(long), 1, fp1);
+    fwrite(&realflag, sizeof(int), 1, fp1);
 
     /* length of array_name+1 */
     name_len = strlen(array_name) + 1;
-    fwrite(&name_len, sizeof(long), 1, fp1);
+    fwrite(&name_len, sizeof(int), 1, fp1);
 
     /* array name */
     fprintf(fp1, "%s%c", array_name, '\0');
@@ -162,18 +162,18 @@
 
 	/* 4 byte data format */
 	format_block = endianness*1000 + data_format*10 + data_type;
-	fwrite(&format_block, sizeof(long), 1, fp1);
+	fwrite(&format_block, sizeof(int), 1, fp1);
 
 	/* 4 byte number of rows & columns */
-	fwrite(&mrows, sizeof(long), 1, fp1);
-	fwrite(&ncols, sizeof(long), 1, fp1);
+	fwrite(&mrows, sizeof(int), 1, fp1);
+	fwrite(&ncols, sizeof(int), 1, fp1);
 
 	/* 4 byte real/imag flag   0=real vals only */
-	fwrite(&realflag, sizeof(long), 1, fp1);
+	fwrite(&realflag, sizeof(int), 1, fp1);
 
 	/* length of array_name+1 */
 	name_len = strlen(array_name) + 1;
-	fwrite(&name_len, sizeof(long), 1, fp1);
+	fwrite(&name_len, sizeof(int), 1, fp1);
 
 	/* array name */
 	fprintf(fp1, "%s%c", array_name, '\0');
@@ -234,19 +234,19 @@
 
 	/* 4 byte data format */
 	format_block = endianness*1000 + data_format*10 + data_type;
-	fwrite(&format_block, sizeof(long), 1, fp1);
+	fwrite(&format_block, sizeof(int), 1, fp1);
 	/* fprintf(stderr, "bounds data format is [%04ld]\n", format_block); */
 
 	/* 4 byte number of rows , 4 byte number of colums */
-	fwrite(&mrows, sizeof(long), 1, fp1);
-	fwrite(&ncols, sizeof(long), 1, fp1);
+	fwrite(&mrows, sizeof(int), 1, fp1);
+	fwrite(&ncols, sizeof(int), 1, fp1);
 
 	/* 4 byte real/imag flag   0=only real */
-	fwrite(&realflag, sizeof(long), 1, fp1);
+	fwrite(&realflag, sizeof(int), 1, fp1);
 
 	/* length of array_name+1 */
 	name_len = strlen(array_name) + 1;
-	fwrite(&name_len, sizeof(long), 1, fp1);
+	fwrite(&name_len, sizeof(int), 1, fp1);
 
 	/* array name */
 	fprintf(fp1, "%s%c", array_name, '\0');
@@ -292,20 +292,20 @@
 
     /* 4 byte data format */
     format_block = (endianness*1000) + (data_format*10) + data_type;
-    fwrite(&format_block, sizeof(long), 1, fp1);
+    fwrite(&format_block, sizeof(int), 1, fp1);
 
-    G_debug(3, "map data format is [%04ld]\n", format_block);
+    G_debug(3, "map data format is [%04d]\n", format_block);
 
     /* 4 byte number of rows & columns*/
-    fwrite(&mrows, sizeof(long), 1, fp1);
-    fwrite(&ncols, sizeof(long), 1, fp1);
+    fwrite(&mrows, sizeof(int), 1, fp1);
+    fwrite(&ncols, sizeof(int), 1, fp1);
 
     /* 4 byte real/imag flag   0=only real */
-    fwrite(&realflag, sizeof(long), 1, fp1);
+    fwrite(&realflag, sizeof(int), 1, fp1);
 
     /* length of array_name+1 */
     name_len = strlen(array_name) + 1;
-    fwrite(&name_len, sizeof(long), 1, fp1);
+    fwrite(&name_len, sizeof(int), 1, fp1);
 
     /* array name */
     fprintf(fp1, "%s%c", array_name, '\0');



More information about the grass-commit mailing list