Android: bypass broken wide_to_utf8 with wide_to_narrow
authorest31 <MTest31@outlook.com>
Sun, 14 Jun 2015 04:38:02 +0000 (06:38 +0200)
committerest31 <MTest31@outlook.com>
Sun, 14 Jun 2015 06:25:21 +0000 (08:25 +0200)
While utf8_to_wide works well, wide_to_utf8 is quite broken
on android, for some reason.

src/util/string.cpp

index 49aff4a1f91776b3997d05222af4b9575149dc59..0a7ab5c3a406856b31507bb79541cd8ecd940dd5 100644 (file)
@@ -83,6 +83,13 @@ std::wstring utf8_to_wide(const std::string &input)
        return out;
 }
 
+#ifdef __ANDROID__
+// TODO: this is an ugly fix for wide_to_utf8 somehow not working on android
+std::string wide_to_utf8(const std::wstring &input)
+{
+       return wide_to_narrow(input);
+}
+#else
 std::string wide_to_utf8(const std::wstring &input)
 {
        size_t inbuf_size = (input.length() + 1) * sizeof(wchar_t);
@@ -102,6 +109,7 @@ std::string wide_to_utf8(const std::wstring &input)
 
        return out;
 }
+#endif
 #else
 std::wstring utf8_to_wide(const std::string &input)
 {
@@ -126,7 +134,6 @@ std::string wide_to_utf8(const std::wstring &input)
 }
 #endif
 
-
 // You must free the returned string!
 // The returned string is allocated using new
 wchar_t *narrow_to_wide_c(const char *str)