Hi, I'm attaching a patch that fixes this issue on big endian machines (tested on powerpcspe).
Thanks, Roland
--- pgdbf-0.6.1.backup/src/pgdbf.h 2012-03-01 18:49:57.000000000 +0100 +++ pgdbf-0.6.1/src/pgdbf.h 2012-11-18 17:54:28.200306684 +0100 @@ -275,14 +275,14 @@ #define SWAP8BYTES(rightendptr, wrongendcharptr) \ const char *src = wrongendcharptr + 7; \ - memcpy((char *) &rightend , src--, 1); \ - memcpy((char *) &rightend + 1, src--, 1); \ - memcpy((char *) &rightend + 2, src--, 1); \ - memcpy((char *) &rightend + 3, src--, 1); \ - memcpy((char *) &rightend + 4, src--, 1); \ - memcpy((char *) &rightend + 5, src--, 1); \ - memcpy((char *) &rightend + 6, src--, 1); \ - memcpy((char *) &rightend + 7, src , 1); + memcpy((char *) rightendptr , src--, 1); \ + memcpy((char *) rightendptr + 1, src--, 1); \ + memcpy((char *) rightendptr + 2, src--, 1); \ + memcpy((char *) rightendptr + 3, src--, 1); \ + memcpy((char *) rightendptr + 4, src--, 1); \ + memcpy((char *) rightendptr + 5, src--, 1); \ + memcpy((char *) rightendptr + 6, src--, 1); \ + memcpy((char *) rightendptr + 7, src , 1); #define SWAPANDRETURN8BYTES(wrongendcharptr) \ int64_t rightend; \