]> git.notmuchmail.org Git - notmuch/blobdiff - lib/libsha1.c
lib: add support for path: prefix searches
[notmuch] / lib / libsha1.c
index 87c7c52889d2944f50b59c8ad616b51b37cc3a83..aaaa4eb2fc14225aad9032b66097008d9390e07a 100644 (file)
@@ -34,7 +34,7 @@
 */
 
 #include <string.h>     /* for memcpy() etc.        */
-
+#include "endian-util.h"
 #include "libsha1.h"
 
 #if defined(__cplusplus)
@@ -49,20 +49,13 @@ extern "C"
 
 #define bswap_32(x) ((rotr32((x), 24) & 0x00ff00ff) | (rotr32((x), 8) & 0xff00ff00))
 
-/* The macros __BYTE_ORDER__ and __ORDER_*_ENDIAN__ are GNU C
- * extensions. They are also supported by clang as of v3.2 */
-
-#ifdef __BYTE_ORDER__
-#  if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
-#    define bsw_32(p,n) \
-       { int _i = (n); while(_i--) ((uint32_t*)p)[_i] = bswap_32(((uint32_t*)p)[_i]); }
-#  elif (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
-#    define bsw_32(p,n)
-#  else
-#    error "unknown byte order"
-#  endif
+#if (UTIL_BYTE_ORDER == UTIL_ORDER_LITTLE_ENDIAN)
+#  define bsw_32(p,n) \
+     { int _i = (n); while(_i--) ((uint32_t*)p)[_i] = bswap_32(((uint32_t*)p)[_i]); }
+#elif (UTIL_BYTE_ORDER == UTIL_ORDER_BIG_ENDIAN)
+#  define bsw_32(p,n)
 #else
-#    error "macro __BYTE_ORDER__ is not defined"
+#  error "Unsupported byte order"
 #endif
 
 #define SHA1_MASK   (SHA1_BLOCK_SIZE - 1)