A possible patch could be the following, but please check against the two 
archs which give problem...

--- endian.h.old        2005-05-28 18:03:12.157472224 +0200
+++ endian.h    2005-05-28 18:06:03.729389328 +0200
@@ -26,15 +26,7 @@
 #ifndef _endian_h_
 #define _endian_h_
 
-#if G_BYTE_ORDER == G_BIG_ENDIAN
-#define guint64_to_BE(x)       x
-#define guint64_to_LE(x)       GUINT64_SWAP_LE_BE(x)
-#elif G_BYTE_ORDER == G_LITTLE_ENDIAN
-#define guint64_to_BE(x)       GUINT64_SWAP_LE_BE(x)
-#define guint64_to_LE(x)       x
-#else
-#error "Byte order not supported"
-#endif
+#include <glib/gtypes.h>
 
 /*
  * Macros
@@ -96,20 +88,20 @@
 
 #define READ_GUINT64_BE(a,v) G_STMT_START { \
        STATIC_ASSERT(8 == sizeof (v));         \
-    memcpy(&v, a, 8); v = guint64_to_BE(v); \
+    memcpy(&v, a, 8); v = GUINT64_TO_BE(v); \
 } G_STMT_END
 
 #define READ_GUINT64_LE(a,v) G_STMT_START { \
        STATIC_ASSERT(8 == sizeof (v));         \
-    memcpy(&v, a, 8); v = guint64_to_LE(v); \
+    memcpy(&v, a, 8); v = GUINT64_TO_LE(v); \
 } G_STMT_END
 
 #define WRITE_GUINT64_BE(v,a) G_STMT_START { \
-    guint64 _v = guint64_to_BE(v); memcpy(a, &_v, sizeof _v); \
+    guint64 _v = GUINT64_TO_BE(v); memcpy(a, &_v, sizeof _v); \
 } G_STMT_END
 
 #define WRITE_GUINT64_LE(v,a) G_STMT_START { \
-    guint64 _v = guint64_to_LE(v); memcpy(a, &_v, sizeof _v); \
+    guint64 _v = GUINT64_TO_LE(v); memcpy(a, &_v, sizeof _v); \
 } G_STMT_END
 
 #endif /* _endian_h_ */

-- 
Francesco P. Lovergine


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to