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; \