Browse Source

hashindex: separate endian-dependent defs from endian detection

also make macro style consistent with other macros in the codebase.
Marian Beermann 8 years ago
parent
commit
fafd5e0399
1 changed files with 13 additions and 7 deletions
  1. 13 7
      borg/_hashindex.c

+ 13 - 7
borg/_hashindex.c

@@ -12,18 +12,24 @@
 #include <sys/isa_defs.h>
 #endif
 
-#if (defined(BYTE_ORDER)&&(BYTE_ORDER == BIG_ENDIAN)) ||  \
+#if (defined(BYTE_ORDER) && (BYTE_ORDER == BIG_ENDIAN)) ||  \
     (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)) || \
-    (defined(_BIG_ENDIAN)&&defined(__SVR4)&&defined(__sun))
+    (defined(_BIG_ENDIAN) && defined(__SVR4)&&defined(__sun))
+#define BORG_BIG_ENDIAN 1
+#elif (defined(BYTE_ORDER) && (BYTE_ORDER == LITTLE_ENDIAN)) || \
+      (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) || \
+      (defined(_LITTLE_ENDIAN) && defined(__SVR4)&&defined(__sun))
+#define BORG_BIG_ENDIAN 0
+#else
+#error Unknown byte order
+#endif
+
+#if BORG_BIG_ENDIAN
 #define _le32toh(x) __builtin_bswap32(x)
 #define _htole32(x) __builtin_bswap32(x)
-#elif (defined(BYTE_ORDER)&&(BYTE_ORDER == LITTLE_ENDIAN)) || \
-      (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) || \
-      (defined(_LITTLE_ENDIAN)&&defined(__SVR4)&&defined(__sun))
+#else
 #define _le32toh(x) (x)
 #define _htole32(x) (x)
-#else
-#error Unknown byte order
 #endif
 
 #define MAGIC "BORG_IDX"