Glasslike_framed drawtype rework.
[oweals/minetest.git] / src / gettext.h
index 862274a31d20542a2b88241d28a36f3b9f399721..3299f5b25a999ed5e7e7ced10eb7efe168ff0254 100644 (file)
@@ -48,6 +48,10 @@ void init_gettext(const char *path,std::string configured_language,int argc, cha
 void init_gettext(const char *path,std::string configured_language);
 #endif
 
+extern std::wstring narrow_to_wide(const std::string& mbs);
+#include "util/numeric.h"
+
+
 /******************************************************************************/
 inline wchar_t* chartowchar_t(const char *str)
 {
@@ -56,7 +60,7 @@ inline wchar_t* chartowchar_t(const char *str)
        int nResult = MultiByteToWideChar( CP_UTF8, 0, (LPCSTR) str, -1, 0, 0 );
        if( nResult == 0 )
        {
-               fprintf( stderr, "error: MultiByteToWideChar returned null\n" );
+               errorstream<<"gettext: MultiByteToWideChar returned null"<<std::endl;
        }
        else
        {
@@ -66,7 +70,10 @@ inline wchar_t* chartowchar_t(const char *str)
 #else
        size_t l = strlen(str)+1;
        nstr = new wchar_t[l];
-       mbstowcs(nstr, str, l);
+
+       std::wstring intermediate = narrow_to_wide(str);
+       memset(nstr,0,l);
+       memcpy(nstr,intermediate.c_str(),l*sizeof(wchar_t));
 #endif
 
        return nstr;