On Mon, Jun 12, 2006 at 01:01:47PM +0100, Andrew Haley wrote: > > I'm starting to be a little suspicious about host2little(). I wonder > if that's well-defined. > > I'm just guessing here becasue I can't see the code. Is it possible
template<typename T> T swap_endian(T x) { char* a = reinterpret_cast<char*>(&x); char* b = a + sizeof(T) - 1; while (a<b) { char tmp = *a; *a++ = *b; *b-- = tmp; } return x; } template<typename T> T host2little(T x) { unsigned u = 1; return (*reinterpret_cast<char*>(&u) ? x : swap_endian(x)); } > for you to turn this into a small test case that anyone can run? Thats the plan. Once I have a clue whats going on, I'll be able to generate a small testcase for bugzilla. I'm looking for some informed guesses as to what might be happening in order to target my investigation... > > Andrew.