commit 5398d986eff2084ecc166a6dc4d7ae3f62b9cd28 parent b02dccc51fbefb44228f94ee859892c1d88c62d8 Author: Benno Schulenberg <bensberg@telfort.nl> Date: Thu, 3 Oct 2019 11:09:21 +0200 tweaks: speed up determining the width of plain ASCII characters Diffstat:
M | src/chars.c | | | 6 | +++++- |
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/chars.c b/src/chars.c @@ -201,9 +201,11 @@ char control_mbrep(const char *c, bool isdata) } #ifdef ENABLE_UTF8 -/* This function is equivalent to wcwidth() for multibyte characters. */ +/* Return the width in columns of the given (multibyte) character. */ int mbwidth(const char *c) { + /* Ask for the width only when the character isn't plain ASCII. */ + if ((signed char)*c <= 0) { wchar_t wc; int width; @@ -216,6 +218,8 @@ int mbwidth(const char *c) return 1; return width; + } else + return 1; } #endif