screen: avoid looking up the width of whitespace and control codes

Spaces and tabs and control codes never are multi-column glyphs, so
only look up the width for "normal", visible characters.
master
Benno Schulenberg 2016-06-05 21:18:32 +02:00
parent d6f43bd156
commit 91fff2a2c8
1 changed files with 3 additions and 3 deletions

View File

@ -1787,9 +1787,6 @@ char *display_string(const char *buf, size_t start_col, size_t len, bool
}
while (*buf != '\0') {
if (mbwidth(buf) > 1)
seen_wide = TRUE;
if (*buf == ' ') {
/* Show a space as a visible character, or as a space. */
#ifndef NANO_TINY
@ -1837,6 +1834,9 @@ char *display_string(const char *buf, size_t start_col, size_t len, bool
start_col += mbwidth(character);
free(character);
if (mbwidth(buf) > 1)
seen_wide = TRUE;
}
buf += parse_mbchar(buf, NULL, NULL);