======== original message ======== I do not see how this is an endian issue, ARGC is handled on the server side, and is not affected by the client in anyway (assuming different endianess between the client and server). So all data is of the same endianess.
Not that I see anything wrong with using int over size_t, or vice versa... But I think the problem is deeper than this. ================================== i don't mean different endianess between the client and server. i mean the coercion between *int8_t and * int4_t,on x86_64 it looks right, but on mips64 it is wrong. argcv_get (const char *command, const char *delim, int *argc, char ***argv) coercion argc between *int8_t and * int4_t, only the high_4_bytes passed to and changed in argcv_get(). for x86_64 , little endian, it looks right, {0x34,0x12,0x0,0x0}{0,0,0,0}=0x1234 for mips64 , big endian ,it is wrong. {0x0,0x0,0x12,0x34}{0,0,0,0}=0x123400000000 wyh yhw...@embedway.com 2009-05-13