diff --git a/src/chars.c b/src/chars.c index f484e7955b8a79b78b55d9b19ecd558ffc20a73e..1bddb35ca2fa579599c3e93ca30f1a17636dd82d 100644 --- a/src/chars.c +++ b/src/chars.c @@ -197,12 +197,15 @@ bool is_word_mbchar(const char *c, bool allow_punct) return TRUE; if (word_chars != NULL && *word_chars != '\0') { + bool wordforming; char *symbol = charalloc(MB_CUR_MAX + 1); int symlen = parse_mbchar(c, symbol, NULL); symbol[symlen] = '\0'; + wordforming = (strstr(word_chars, symbol) != NULL); + free(symbol); - return (strstr(word_chars, symbol) != NULL); + return wordforming; } return (allow_punct && is_punct_mbchar(c));