Fix build on big endian architectures.
authorMatthew Bekkema <mbekkema97@gmail.com>
Fri, 20 Jun 2014 07:33:28 +0000 (17:33 +1000)
committersapier <Sapier at GMX dot net>
Fri, 20 Jun 2014 16:40:06 +0000 (18:40 +0200)
src/cguittfont/irrUString.h

index 132a35ee2d08962758b55510a36c224094b35fa4..094944520cbb947a573f1ba25ee8899d5cf68144 100644 (file)
@@ -41,6 +41,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
+#include <endian.h>
 
 #ifdef USTRING_CPP0X
 #      include <utility>
@@ -806,7 +807,7 @@ public:
        ustring16()
        : array(0), allocated(1), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -820,7 +821,7 @@ public:
        ustring16(const ustring16<TAlloc>& other)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -834,7 +835,7 @@ public:
        ustring16(const string<B, A>& other)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -849,7 +850,7 @@ public:
        ustring16(const std::basic_string<B, A, Alloc>& other)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -863,7 +864,7 @@ public:
        ustring16(Itr first, Itr last)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -882,7 +883,7 @@ public:
        ustring16(const char* const c)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -897,7 +898,7 @@ public:
        ustring16(const char* const c, u32 length)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -912,7 +913,7 @@ public:
        ustring16(const uchar8_t* const c)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -926,7 +927,7 @@ public:
        ustring16(const char c)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -940,7 +941,7 @@ public:
        ustring16(const uchar8_t* const c, u32 length)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -954,7 +955,7 @@ public:
        ustring16(const uchar16_t* const c)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -968,7 +969,7 @@ public:
        ustring16(const uchar16_t* const c, u32 length)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -982,7 +983,7 @@ public:
        ustring16(const uchar32_t* const c)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -996,7 +997,7 @@ public:
        ustring16(const uchar32_t* const c, u32 length)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -1010,7 +1011,7 @@ public:
        ustring16(const wchar_t* const c)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;
@@ -1029,7 +1030,7 @@ public:
        ustring16(const wchar_t* const c, u32 length)
        : array(0), allocated(0), used(0)
        {
-#if __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
                encoding = unicode::EUTFE_UTF16_BE;
 #else
                encoding = unicode::EUTFE_UTF16_LE;