X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=st.c;h=aaf868d84ca783a10040b0f15de590f227a8cf86;hb=0c94f8621b738c51c9e08abc3c52fe8dfe24b953;hp=e76aaf3338ad4e5c5d3d114532cef1d702d8f307;hpb=0d838b72437c6cac0d87366352939fdb86c2b697;p=st.git diff --git a/st.c b/st.c index e76aaf3..aaf868d 100644 --- a/st.c +++ b/st.c @@ -2896,15 +2896,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