Folks,
I've started to look at the code (v0.4.0) and found what might be a possible issue regarding big/little endian encoding.
In the file gist/message/headers.h is a definition of GIST's common header:
struct common_header_t { unsigned char version : 8; unsigned char hops : 8; unsigned short length : 16; unsigned short sappid : 16; unsigned char type : 8; unsigned char resrvd : 5; unsigned char e : 1; unsigned char r : 1; unsigned char s : 1; };
To me, this is OK for a little endian machine. Don't we need macros to distinguish between big/little endian architectures ?
struct common_header_t { unsigned char version : 8; unsigned char hops : 8; unsigned short length : 16; unsigned short sappid : 16; unsigned char type : 8; #ifdef LITTLE_ENDIAN_CPU unsigned char resrvd : 5; unsigned char e : 1; unsigned char r : 1; unsigned char s : 1; #else /* BIG_ENDIAN_CPU */ unsigned char s : 1; unsigned char r : 1; unsigned char e : 1; unsigned char resrvd : 5; #endif };
Regards,
Stephane Ouellette.
nsis_imp@informatik.uni-goettingen.de