From bc891030f65e781f707ac58a79b0e5e4c4386516 Mon Sep 17 00:00:00 2001 From: djcb Date: Sun, 24 Mar 2019 11:43:51 +0200 Subject: [PATCH] mu: fix utf-8 flatten --- lib/parser/utils.cc | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/parser/utils.cc b/lib/parser/utils.cc index 3f9ffa5c..0cea85a6 100644 --- a/lib/parser/utils.cc +++ b/lib/parser/utils.cc @@ -105,16 +105,14 @@ Mux::utf8_flatten (const char *str) if (!str) return {}; - bool is_ascii = true; - while (*str && is_ascii) { - is_ascii = *str & 0x80; - ++str; + // the pure-ascii case + if (g_str_is_ascii(str)) { + auto l = g_ascii_strdown (str, -1); + std::string s{l}; + g_free (l); + return s; } - if (G_LIKELY(is_ascii)) - return str; - /////////////////////////////////////////// - // seems we need the big guns char *flat = gx_utf8_flatten (str, -1); if (!flat)