[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