[GRASS-SVN] r38657 - grass/trunk/raster3d/r3.in.v5d

svn_grass at osgeo.org svn_grass at osgeo.org
Sun Aug 9 12:03:50 EDT 2009


Author: mmetz
Date: 2009-08-09 12:03:50 -0400 (Sun, 09 Aug 2009)
New Revision: 38657

Modified:
   grass/trunk/raster3d/r3.in.v5d/Makefile
   grass/trunk/raster3d/r3.in.v5d/main.c
   grass/trunk/raster3d/r3.in.v5d/v5d.c
   grass/trunk/raster3d/r3.in.v5d/v5d.h
Log:
r3.in.v5d LFS-safe, awaits testing

Modified: grass/trunk/raster3d/r3.in.v5d/Makefile
===================================================================
--- grass/trunk/raster3d/r3.in.v5d/Makefile	2009-08-09 16:01:57 UTC (rev 38656)
+++ grass/trunk/raster3d/r3.in.v5d/Makefile	2009-08-09 16:03:50 UTC (rev 38657)
@@ -5,6 +5,11 @@
 #for Linux/x86 et al. (needs fix for MacOSX)
 EXTRA_CFLAGS = -DLITTLE
 
+#compile if LFS Large File Support present:
+ifneq ($(USE_LARGEFILES),)
+	EXTRA_CFLAGS += -D_FILE_OFFSET_BITS=64
+endif
+
 LIBES = $(G3DLIB) $(GISLIB)
 DEPENDENCIES = $(G3DDEP) $(GISDEP)
 

Modified: grass/trunk/raster3d/r3.in.v5d/main.c
===================================================================
--- grass/trunk/raster3d/r3.in.v5d/main.c	2009-08-09 16:01:57 UTC (rev 38656)
+++ grass/trunk/raster3d/r3.in.v5d/main.c	2009-08-09 16:03:50 UTC (rev 38657)
@@ -25,6 +25,7 @@
  *   Boston, MA  02111-1307, USA.
  */
 
+#include <grass/config.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>

Modified: grass/trunk/raster3d/r3.in.v5d/v5d.c
===================================================================
--- grass/trunk/raster3d/r3.in.v5d/v5d.c	2009-08-09 16:01:57 UTC (rev 38656)
+++ grass/trunk/raster3d/r3.in.v5d/v5d.c	2009-08-09 16:03:50 UTC (rev 38657)
@@ -64,12 +64,12 @@
 
 
 
+#include <grass/config.h>
 #include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <math.h>
-#include <grass/config.h>
 #include <grass/gis.h>
 #include "binio.h"
 #include "v5d.h"
@@ -337,8 +337,8 @@
     else {
 	printf("Compression:  %d bytes per gridpoint.\n", v->CompressMode);
     }
-    printf("header size=%d\n", v->FirstGridPos);
-    printf("sizeof(v5dstruct)=%d\n", sizeof(v5dstruct));
+    printf("header size=%d\n", (int)v->FirstGridPos);
+    printf("sizeof(v5dstruct)=%d\n", (int)sizeof(v5dstruct));
     printf("\n");
 
     printf("NumVars = %d\n", v->NumVars);
@@ -467,7 +467,8 @@
  */
 static int grid_position(const v5dstruct * v, int time, int var)
 {
-    int pos, i;
+    int i;
+    off_t pos;
 
     assert(time >= 0);
     assert(var >= 0);
@@ -1309,7 +1310,7 @@
 	/* Older COMP5D format */
 	int gridtimes, gridparms;
 	int i, j, it, iv, nl;
-	int gridsize;
+	off_t gridsize;
 	float hgttop, hgtinc;
 
 	/*char *compgrid; */
@@ -1377,7 +1378,7 @@
 	    v->VarName[i][4] = 0;
 	}
 
-	gridsize = ((v->Nr * v->Nc * nl + 3) / 4) * 4;
+	gridsize = (((off_t)v->Nr * v->Nc * nl + 3) / 4) * 4;
 	for (i = 0; i < v->NumVars; i++) {
 	    v->GridSize[i] = 8 + gridsize;
 	}
@@ -1421,7 +1422,8 @@
     }
     else if (id == 0x80808082 || id == 0x80808083) {
 	/* Newer COMP5D format */
-	int gridtimes, gridsize;
+	int gridtimes;
+	off_t gridsize;
 	int it, iv, nl, i, j;
 	float delta;
 
@@ -1503,7 +1505,7 @@
 
 	/* calculate grid storage sizes */
 	if (id == 0x80808082) {
-	    gridsize = nl * 2 * 4 + ((v->Nr * v->Nc * nl + 3) / 4) * 4;
+	    gridsize = nl * 2 * 4 + (((off_t)v->Nr * v->Nc * nl + 3) / 4) * 4;
 	}
 	else {
 	    /* McIDAS grid and file numbers present */

Modified: grass/trunk/raster3d/r3.in.v5d/v5d.h
===================================================================
--- grass/trunk/raster3d/r3.in.v5d/v5d.h	2009-08-09 16:01:57 UTC (rev 38656)
+++ grass/trunk/raster3d/r3.in.v5d/v5d.h	2009-08-09 16:03:50 UTC (rev 38657)
@@ -26,6 +26,7 @@
 #ifndef V5D_H
 #define V5D_H
 
+#include <sys/types.h>
 
 /*
  * A numeric version number which we can test for in utility programs which
@@ -232,10 +233,10 @@
     unsigned int FileFormat;	/* COMP5D file version or 0 if .v5d */
     int FileDesc;		/* Unix file descriptor */
     char Mode;			/* 'r' = read, 'w' = write */
-    int CurPos;			/* current position of file pointer */
-    int FirstGridPos;		/* position of first grid in file */
-    int GridSize[MAXVARS];	/* size of each grid */
-    int SumGridSizes;		/* sum of GridSize[0..NumVars-1] */
+    off_t CurPos;			/* current position of file pointer */
+    off_t FirstGridPos;		/* position of first grid in file */
+    off_t GridSize[MAXVARS];	/* size of each grid */
+    off_t SumGridSizes;		/* sum of GridSize[0..NumVars-1] */
 } v5dstruct;
 
 



More information about the grass-commit mailing list