Fixed sha1.c compilation on Linux, due to endianess detection lameness

This commit is contained in:
antirez 2010-05-14 19:21:30 +02:00
parent 5d373da96a
commit 8ba4004934
1 changed files with 11 additions and 1 deletions

12
sha1.c
View File

@ -21,6 +21,8 @@ A million repetitions of "a"
#define SHA1HANDSOFF
#include <endian.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h> /* for u_int*_t */
@ -56,6 +58,14 @@ A million repetitions of "a"
#endif /* BSD */
#endif /* BYTE_ORDER */
#if defined(__BYTE_ORDER) && !defined(BYTE_ORDER)
#if (__BYTE_ORDER == __LITTLE_ENDIAN)
#define BYTE_ORDER LITTLE_ENDIAN
#else
#define BYTE_ORDER BIG_ENDIAN
#endif
#endif
#if !defined(BYTE_ORDER) || \
(BYTE_ORDER != BIG_ENDIAN && BYTE_ORDER != LITTLE_ENDIAN && \
BYTE_ORDER != PDP_ENDIAN)
@ -64,7 +74,7 @@ A million repetitions of "a"
* which will force your compiles to bomb until you fix
* the above macros.
*/
error "Undefined or invalid BYTE_ORDER";
#error "Undefined or invalid BYTE_ORDER"
#endif
#define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits))))