From f60227f112a36d943c83d4d1ac0b24754fbd537e Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sat, 1 Sep 2012 09:23:39 +0300 Subject: [PATCH] Don't crash in "unexpected multibyte character"; just print it in log. Github #222 --- src/keycode.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/keycode.cpp b/src/keycode.cpp index df3ebc9e3..5a8df0db4 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 "<