diff --git a/libpub/scan.ll b/libpub/scan.ll index 2464b0e3..f7ec3fe5 100644 --- a/libpub/scan.ll +++ b/libpub/scan.ll @@ -645,11 +645,7 @@ hex_to_char (const char *in) str unicode_to_utf8 (const char *in) { - static bool init; - if (!init) { - setlocale (LC_CTYPE, "en_US.UTF-8"); - init = true; - } + setlocale (LC_CTYPE, "en_US.UTF-8"); str ret; char *ep; mbstate_t state; @@ -667,6 +663,9 @@ unicode_to_utf8 (const char *in) ret = m; } } + if (!ret) { + ret = ""; + } return ret; }