From 60f31ad52348c53209701d0112f9f809018f7188 Mon Sep 17 00:00:00 2001 From: est31 Date: Sun, 14 Jun 2015 06:38:02 +0200 Subject: Android: bypass broken wide_to_utf8 with wide_to_narrow While utf8_to_wide works well, wide_to_utf8 is quite broken on android, for some reason. --- src/util/string.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/util/string.cpp b/src/util/string.cpp index 49aff4a1f..0a7ab5c3a 100644 --- a/src/util/string.cpp +++ b/src/util/string.cpp @@ -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) -- cgit v1.2.3