for(; len > 0; buf++, len--) {
char c = *buf;
- if(c < 0x20 || c == 0177) { /* control code */
+ if(BETWEEN(c, 0x00, 0x1f) || c == 0x7f) { /* control code */
if(c != '\n' && c != '\r' && c != '\t') {
c ^= '\x40';
tputc("^", 1);
csiparse();
csihandle();
}
- } else if(term.esc & ESC_STR_END) {
- term.esc = 0;
- if(ascii == '\\')
- strhandle();
} else if(term.esc & ESC_ALTCHARSET) {
tdeftran(ascii);
tselcs();
tcursor(CURSOR_LOAD);
term.esc = 0;
break;
- case '\\': /* ST -- Stop */
+ case '\\': /* ST -- String Terminator */
+ if(term.esc & ESC_STR_END)
+ strhandle();
term.esc = 0;
break;
default: