]> git.lizzy.rs Git - minetest.git/blobdiff - src/irrlicht_changes/irrUString.h
Include irrlichttypes.h first to work around Irrlicht#433 (#10872)
[minetest.git] / src / irrlicht_changes / irrUString.h
index aead68babf522104a59993e9b02a48bb9913d6d2..09172ee6dc384a28fdb3fd1cda262e365b0dfa51 100644 (file)
@@ -48,7 +48,7 @@
 #define __BIG_ENDIAN 1
 #elif defined(__MACH__) && defined(__APPLE__)
 #include <machine/endian.h>
-#elif defined(__FreeBSD__)
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
 #include <sys/endian.h>
 #else
 #include <endian.h>
@@ -1331,7 +1331,7 @@ class ustring16
        {
                u32 i;
                const uchar16_t* oa = other.c_str();
-               for(i=0; array[i] && oa[i] && i < n; ++i)
+               for(i=0; i < n && array[i] && oa[i]; ++i)
                        if (array[i] != oa[i])
                                return false;
 
@@ -1350,7 +1350,7 @@ class ustring16
                if (!str)
                        return false;
                u32 i;
-               for(i=0; array[i] && str[i] && i < n; ++i)
+               for(i=0; i < n && array[i] && str[i]; ++i)
                        if (array[i] != str[i])
                                return false;
 
@@ -2916,13 +2916,13 @@ class ustring16
                                ret[0] = unicode::BOM;
                        else if (endian == unicode::EUTFEE_LITTLE)
                        {
-                               uchar8_t* ptr8 = reinterpret_cast<uchar8_t*>(ret.c_str());
+                               uchar8_t* ptr8 = reinterpret_cast<uchar8_t*>(&ret[0]);
                                *ptr8++ = unicode::BOM_ENCODE_UTF16_LE[0];
                                *ptr8 = unicode::BOM_ENCODE_UTF16_LE[1];
                        }
                        else
                        {
-                               uchar8_t* ptr8 = reinterpret_cast<uchar8_t*>(ret.c_str());
+                               uchar8_t* ptr8 = reinterpret_cast<uchar8_t*>(&ret[0]);
                                *ptr8++ = unicode::BOM_ENCODE_UTF16_BE[0];
                                *ptr8 = unicode::BOM_ENCODE_UTF16_BE[1];
                        }