[GRASS5] r.terraflow failure
glynn at gclements.plus.com
Tue Feb 21 17:21:08 EST 2006
Andrew Danner wrote:
> My initial hunch is that this may be an fseek error. The function
> scan3line where the assertion fails is opening three file descriptors or
> "substreams" on a single file and calling fseek to move to the beginning
> of a particular row. However, fseek takes a 32-bit long offset which
> overflows at 2GB. There is an fseeko in most stdio.h implementations
> that takes a 64 bit off_t offset and works for larger files.
Just to clarify: fseeko takes an off_t, which may be either 32 or 64
bits depending upon the value of the _FILE_OFFSET_BITS macro.
Note that, in order to use 64 bit offsets, you need to ensure that
values don't get truncated to 32 bits by C's typing rules and/or
storage in int/long variables.
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-dev