From 76510cf9d286e2b89a8cdc6664328fd420bcd4c4 Mon Sep 17 00:00:00 2001 From: bde Date: Sat, 29 Jul 1995 08:33:13 +0000 Subject: Don't let IXOFF or ECHONL stop the setting of TS_CAN_BYPASS_L_RINT. IXOFF is handled at a low level, and ECHONL only applies if ICANON is set, although tty.c sometimes bogusly applies it when ICANON isn't set. --- sys/i386/isa/rc.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'sys/i386/isa/rc.c') diff --git a/sys/i386/isa/rc.c b/sys/i386/isa/rc.c index e496a48..ec93d68 100644 --- a/sys/i386/isa/rc.c +++ b/sys/i386/isa/rc.c @@ -1495,13 +1495,11 @@ disc_optim(tp, t, rc) struct rc_chans *rc; { - if (!(t->c_iflag & (ICRNL | IGNCR | IMAXBEL | INLCR | ISTRIP - | IXOFF | IXON)) + if (!(t->c_iflag & (ICRNL | IGNCR | IMAXBEL | INLCR | ISTRIP | IXON)) && (!(t->c_iflag & BRKINT) || (t->c_iflag & IGNBRK)) - && (!(t->c_iflag & PARMRK) || - (t->c_iflag & (IGNPAR|IGNBRK)) == (IGNPAR|IGNBRK)) - && !(t->c_lflag & (ECHO | ECHONL | ICANON | IEXTEN | ISIG - | PENDIN)) + && (!(t->c_iflag & PARMRK) + || (t->c_iflag & (IGNPAR | IGNBRK)) == (IGNPAR | IGNBRK)) + && !(t->c_lflag & (ECHO | ICANON | IEXTEN | ISIG | PENDIN)) && linesw[tp->t_line].l_rint == ttyinput) tp->t_state |= TS_CAN_BYPASS_L_RINT; else -- cgit v1.1