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

Reply via email to