And don't accept UTF translations as the start of a control
state either.
hide_cursor(currcons);
while (!tty->stopped && count) {
- c = *buf;
+ int orig = *buf;
+ c = orig;
buf++;
n++;
count--;
- if (utf) {
+ /* Do no translation at all in control states */
+ if (vc_state != ESnormal) {
+ tc = c;
+ } else if (utf) {
/* Combine UTF-8 into Unicode */
/* Incomplete characters silently ignored */
if(c > 0x7f) {
continue;
}
FLUSH
- do_con_trol(tty, currcons, c);
+ do_con_trol(tty, currcons, orig);
}
FLUSH
console_conditional_schedule();