projects
/
oweals
/
minetest.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Glasslike_framed drawtype rework.
[oweals/minetest.git]
/
src
/
gettext.h
diff --git
a/src/gettext.h
b/src/gettext.h
index 862274a31d20542a2b88241d28a36f3b9f399721..3299f5b25a999ed5e7e7ced10eb7efe168ff0254 100644
(file)
--- a/
src/gettext.h
+++ b/
src/gettext.h
@@
-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
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)
{
/******************************************************************************/
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 )
{
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
{
}
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];
#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;
#endif
return nstr;