From: Perttu Ahola Date: Sat, 1 Sep 2012 06:23:39 +0000 (+0300) Subject: Don't crash in "unexpected multibyte character"; just print it in log. Github #222 X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=f60227f112a36d943c83d4d1ac0b24754fbd537e;p=zefram%2Fminetest%2Fminetest_engine.git Don't crash in "unexpected multibyte character"; just print it in log. Github #222 --- diff --git a/src/keycode.cpp b/src/keycode.cpp index df3ebc9e..5a8df0db 100644 --- a/src/keycode.cpp +++ b/src/keycode.cpp @@ -21,6 +21,8 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "main.h" // For g_settings #include "exceptions.h" #include "settings.h" +#include "log.h" +#include "hex.h" class UnknownKeycode : public BaseException { @@ -295,7 +297,10 @@ KeyPress::KeyPress(const irr::SEvent::SKeyInput &in) } else { m_name.resize(MB_CUR_MAX+1, '\0'); int written = wctomb(&m_name[0], Char); - assert (written >= 0 && "unexpected multibyte character"); + if(written >= 0){ + std::string hexstr = hex_encode((const char*)&Char, sizeof(Char)); + errorstream<<"KeyPress: Unexpected multibyte character "<