This commit is contained in:
Jonathan Campbell
2019-03-19 21:11:50 -07:00
parent 02e2b500b3
commit 566b5e4bd6

View File

@@ -8,22 +8,25 @@
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#if defined(__MINGW32__) #if defined(__MINGW32__)
# define LITTLE_ENDIAN 1234 # define ICONV_LITTLE_ENDIAN 1234
# define BIG_ENDIAN 4321 # define ICONV_BIG_ENDIAN 4321
# define BYTE_ORDER LITTLE_ENDIAN # define ICONV_BYTE_ORDER ICONV_LITTLE_ENDIAN
#elif defined(__APPLE__) #elif defined(__APPLE__)
# include <libkern/OSByteOrder.h> # include <libkern/OSByteOrder.h>
# define LITTLE_ENDIAN 1234 # define ICONV_LITTLE_ENDIAN 1234
# define BIG_ENDIAN 4321 # define ICONV_BIG_ENDIAN 4321
# if defined(__LITTLE_ENDIAN__) # if defined(__LITTLE_ENDIAN__)
# define BYTE_ORDER LITTLE_ENDIAN # define ICONV_BYTE_ORDER ICONV_LITTLE_ENDIAN
# elif defined(__BIG_ENDIAN__) # elif defined(__BIG_ENDIAN__)
# define BYTE_ORDER BIG_ENDIAN # define ICONV_BYTE_ORDER ICONV_BIG_ENDIAN
# else # else
# error Unable to determine byte order # error Unable to determine byte order
# endif # endif
#else #else
# include <endian.h> # include <endian.h>
# define ICONV_BYTE_ORDER BYTE_ORDER
# define ICONV_LITTLE_ENDIAN LITTLE_ENDIAN
# define ICONV_BIG_ENDIAN BIG_ENDIAN
#endif #endif
#include <iconv.h> #include <iconv.h>
@@ -68,7 +71,7 @@ protected:
return NULL; return NULL;
} }
static constexpr bool big_endian(void) { static constexpr bool big_endian(void) {
return (BYTE_ORDER == BIG_ENDIAN); return (ICONV_BYTE_ORDER == ICONV_BIG_ENDIAN);
} }
}; };