X-Git-Url: https://git.xinqibao.xyz/st.git/blobdiff_plain/87545c612e8ab6e7cd1ef38e2355d0cb86df79f2..914fb825df3bde7abdd7947e54f8bf4d2b55e34e:/st.c diff --git a/st.c b/st.c index c161497..a8de17d 100644 --- a/st.c +++ b/st.c @@ -2153,6 +2153,7 @@ tcontrolcode(uchar ascii) return; case '\032': /* SUB */ tsetchar('?', &term.c.attr, term.c.x, term.c.y); + /* FALLTHROUGH */ case '\030': /* CAN */ csireset(); break; @@ -2307,15 +2308,13 @@ tputc(Rune u) Glyph *gp; control = ISCONTROL(u); - if (!IS_SET(MODE_UTF8 | MODE_SIXEL)) { + if (u < 127 || !IS_SET(MODE_UTF8 | MODE_SIXEL)) { c[0] = u; width = len = 1; } else { len = utf8encode(u, c); - if (!control && (width = wcwidth(u)) == -1) { - memcpy(c, "\357\277\275", 4); /* UTF_INVALID */ + if (!control && (width = wcwidth(u)) == -1) width = 1; - } } if (IS_SET(MODE_PRINT))