This fixes an issue with byte switching. The preprocessor directive
used to determine the endianess of the system only worked on Linux
resulting in voice running over TCP only when umurmur runs on other
platforms. Note, this patch could and should be implemented better
but is working and should be regarded as a hotfix.
#define SHIFTBITS 63
typedef uint64_t subblock;
-#if __BYTE_ORDER == __BIG_ENDIAN
+#if CRYPT_BE
#define SWAPPED(x) (x)
#else
#ifdef __x86_64__
#ifndef CRYPTSTATE_H_34564356
#define CRYPTSTATE_H_34564356
+#ifdef NETBSD
+#include <machine/endian.h>
+#if BYTE_ORDER == BIG_ENDIAN
+#define CRYPT_BE
+#endif
+#endif
+
+#ifdef LINUX
+#include <endian.h>
+#if __BYTE_ORDER == __BIG_ENDIAN
+#define CRYPT_BE
+#endif
+#endif
+
#include "config.h"
#ifdef USE_POLARSSL