Markus Metz wrote: > I think I understand. So according to the grass wiki the steps to enable > large file support would be > > 1) add > ifneq ($(USE_LARGEFILES),) > EXTRA_CFLAGS = -D_FILE_OFFSET_BITS=64 > endif > > to all relevant Makefiles
Yes. Although this should probably come after 2 and 3 ;) First, make the code safe for LFS, *then* enable it. > 2) use off_t where appropriate, and take care with type casting. file > offset is used in various different places in the vector library, a bit > of work to get off_t usage right. Using off_t isn't a problem; it's when you generate an off_t from smaller types that care needs to be taken. > 3) solve the fseek/fseeko and ftell/ftello problem. Get inspiration from > libgis and LFS-safe modules? Or as suggested in the grass wiki on LFS, add > extern off_t G_ftell(FILE *fp); > extern int G_fseek(FILE *stream, off_t offset, int whence); > for global use? That would be my preference. > 4) figure out if coor file size really needs to be stored in coor and > topo. coor file size doesn't say a lot about the number of features > because coor can contain a high proportion of dead lines (a problem in > itself, vector TODO). If if does not need to be stored in coor and topo, > how does removing coor file size info affect reading and writing of coor > and topo? Are there hard-coded offsets for reading these files? No idea here. -- Glynn Clements <[email protected]> _______________________________________________ grass-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-dev
