Introduction
Introduction Statistics Contact Development Disclaimer Help
tFix techo handling of control and multibyte characters. - st - [fork] customiz…
git clone git://src.adamsgaard.dk/st
Log
Files
Refs
README
LICENSE
---
commit f9dc374ea01c2921ec3bd1214f292a7036d069ae
parent fa19f241a34deddf6e089ab462cbd9cb02f61b3d
Author: noname <[email protected]>
Date: Wed, 23 Apr 2014 00:26:07 +0400
Fix techo handling of control and multibyte characters.
ttecho compares signed char to '\x20'. Any character with code less then
'\x20' is treated as control character. This way characters with MSB
set to 1 are considered control characters too.
Also this patch makes techo display DEL character as ^?.
To reprocuce the bug, enable echo mode using printf '\e[12l',
tthen type DEL character or any non-ASCII character.
Diffstat:
M st.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/st.c b/st.c
t@@ -2308,9 +2308,9 @@ techo(char *buf, int len) {
for(; len > 0; buf++, len--) {
char c = *buf;
- if(c < '\x20') { /* control code */
+ if(c < 0x20 || c == 0177) { /* control code */
if(c != '\n' && c != '\r' && c != '\t') {
- c |= '\x40';
+ c ^= '\x40';
tputc("^", 1);
}
tputc(&c, 1);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.