[GRASS5] Re: [GRASSLIST:1899] ERROR in read/write portable short
Radim Blazek
blazek at itc.it
Fri Nov 28 07:41:35 EST 2003
It was quite a stupid bug (my), in dig_init_portable() (portable.c)
all port->xxx_cnvrt[i] = xxx_cnvrt[PORT_DOUBLE - i] should be
port->xxx_cnvrt[i] = xxx_cnvrt[PORT_DOUBLE - i - 1]
This should not have many consequences, because only vector files
written as little endian on big endian machine would be wrong,
but big endian machines by default write big endian files.
The only exception, where data may be corrupted, are vectors created
on little endian machine and then edited on big endian (v.digit),
but as files should be obviously wrong, it is not probable.
Before the fix, errors should appear when little endian files were read on
big endian machines, so it seams that nobody tried that.
Radim
On Friday 28 November 2003 11:00, Markus Neteler wrote:
> Hi Radim,
>
> here darwin6.8 results:
>
> [timonchiotwin:lib/vector/diglib] markus% otool -L
> OBJ.powerpc-apple-darwin6.8/test OBJ.powerpc-apple-darwin6.8/test:
> /grass57exp/dist.powerpc-apple-darwin6.8/lib/libgrass_dig2.dylib
> (compatibility version 0.0.0, current version 0.0.0)
> /grass57exp/dist.powerpc-apple-darwin6.8/lib/libgrass_rtree.dylib
> (compatibility version 0.0.0, current version 0.0.0)
> /grass57exp/dist.powerpc-apple-darwin6.8/lib/libgrass_gis.dylib
> (compatibility version 0.0.0, current version 0.0.0)
> /grass57exp/dist.powerpc-apple-darwin6.8/lib/libgrass_datetime.dylib
> (compatibility version 0.0.0, current version 0.0.0)
> /sw/lib/libintl.1.dylib (compatibility version 2.0.0, current version
> 2.1.0) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version
> 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
> version 71.0.0)
>
> OBJ.powerpc-apple-darwin6.8/test
> ERROR in read/write portable short, byte_order = 0
> Written: -32768
> Read : 0
> ERROR in read/write portable short, byte_order = 0
> Written: -12345
> Read : -57
> ERROR in read/write portable short, byte_order = 0
> Written: 12345
> Read : 57
> ERROR in read/write portable short, byte_order = 0
> Written: 32767
> Read : -1
>
> Find attached portable.h and test.tmp.gz
>
> Markus
More information about the grass-dev
mailing list