Browse Source

Do not mark as invalid UTF8 control codes

wcwidth() returns -1 for all the non visible characters, but it doesn't
necessarilly mean that they are incorrect. It only means that they are not
printable.
master
Roberto E. Vargas Caballero 10 years ago
parent
commit
7e61f5e4c5
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      st.c

+ 2
- 2
st.c View File

@ -2895,15 +2895,15 @@ tputc(Rune u)
int width, len;
Glyph *gp;
control = ISCONTROL(u);
len = utf8encode(u, c);
if ((width = wcwidth(u)) == -1) {
if (!control && (width = wcwidth(u)) == -1) {
memcpy(c, "\357\277\275", 4); /* UTF_INVALID */
width = 1;
}
if (IS_SET(MODE_PRINT))
tprinter(c, len);
control = ISCONTROL(u);
/*
* STR sequence must be checked before anything else


Loading…
Cancel
Save