Glynn Clements wrote:
Actually, looking at the code in context, I'd write:
static void write_int(int fd, int n)
{
if (write(fd, &n, sizeof(int)) != sizeof(int))
G_fatal_error("%s", strerror(errno));
}
Lets face it: you aren't going to be recovering from this situation,
are you? If _segment_format fails, the module fails.
Yup. Or worse, the module finishes and produces corrupt output. OTOH,
_segment_format() is supposed to return -1 on seek or write failure and
it's up to modules calling segment_format() or segment_format_nofill()
to check the return value.
While you're there, can you fix this nonsense:
if (file_size > INT_MAX) {
?
Sure, that should be handled by write() I guess.
OTOH, the segment library is long overdue for being replaced with
something more efficient.
Try grass7. Not a replacement but optimization.
_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev