aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>1995-07-29 08:33:13 +0000
committerBruce Evans <bde@FreeBSD.org>1995-07-29 08:33:13 +0000
commit611c22c11760a6a0e0b9c2ccc9ba7e1ef9dcde4c (patch)
tree3f2510e6e1376b5f48c1fbe57f418186245fe80b
parentd10b6048eb1085de738433359e6f18e7fc3e9d54 (diff)
downloadsrc-611c22c11760a6a0e0b9c2ccc9ba7e1ef9dcde4c.tar.gz
src-611c22c11760a6a0e0b9c2ccc9ba7e1ef9dcde4c.zip
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.
Notes
Notes: svn path=/head/; revision=9757
-rw-r--r--sys/dev/cy/cy.c14
-rw-r--r--sys/dev/cy/cy_isa.c14
-rw-r--r--sys/dev/rc/rc.c10
-rw-r--r--sys/dev/sio/sio.c12
-rw-r--r--sys/i386/isa/cy.c14
-rw-r--r--sys/i386/isa/rc.c10
-rw-r--r--sys/i386/isa/sio.c12
-rw-r--r--sys/isa/sio.c12
8 files changed, 41 insertions, 57 deletions
diff --git a/sys/dev/cy/cy.c b/sys/dev/cy/cy.c
index 1bca887390ee..bd8d7a49930b 100644
--- a/sys/dev/cy/cy.c
+++ b/sys/dev/cy/cy.c
@@ -27,7 +27,7 @@
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: cy.c,v 1.11 1995/07/22 16:44:46 bde Exp $
+ * $Id: cy.c,v 1.12 1995/07/29 04:05:53 bde Exp $
*/
#include "cy.h"
@@ -2367,16 +2367,14 @@ disc_optim(tp, t, com)
/*
* XXX can skip a lot more cases if Smarts. Maybe
- * (IGNCR | ISTRIP | IXOFF | IXON) in c_iflag. But perhaps we
+ * (IGNCR | ISTRIP | IXON) in c_iflag. But perhaps we
* shouldn't skip if (TS_CNTTB | TS_LNCH) is set in t_state.
*/
- 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
diff --git a/sys/dev/cy/cy_isa.c b/sys/dev/cy/cy_isa.c
index 1bca887390ee..bd8d7a49930b 100644
--- a/sys/dev/cy/cy_isa.c
+++ b/sys/dev/cy/cy_isa.c
@@ -27,7 +27,7 @@
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: cy.c,v 1.11 1995/07/22 16:44:46 bde Exp $
+ * $Id: cy.c,v 1.12 1995/07/29 04:05:53 bde Exp $
*/
#include "cy.h"
@@ -2367,16 +2367,14 @@ disc_optim(tp, t, com)
/*
* XXX can skip a lot more cases if Smarts. Maybe
- * (IGNCR | ISTRIP | IXOFF | IXON) in c_iflag. But perhaps we
+ * (IGNCR | ISTRIP | IXON) in c_iflag. But perhaps we
* shouldn't skip if (TS_CNTTB | TS_LNCH) is set in t_state.
*/
- 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
diff --git a/sys/dev/rc/rc.c b/sys/dev/rc/rc.c
index e496a48401a1..ec93d681f0c6 100644
--- a/sys/dev/rc/rc.c
+++ b/sys/dev/rc/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
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c
index 93469e05491b..a428eeb9411c 100644
--- a/sys/dev/sio/sio.c
+++ b/sys/dev/sio/sio.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
- * $Id: sio.c,v 1.105 1995/07/22 16:44:50 bde Exp $
+ * $Id: sio.c,v 1.106 1995/07/29 04:05:57 bde Exp $
*/
#include "sio.h"
@@ -2082,13 +2082,11 @@ disc_optim(tp, t, com)
struct termios *t;
struct com_s *com;
{
- 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
diff --git a/sys/i386/isa/cy.c b/sys/i386/isa/cy.c
index 1bca887390ee..bd8d7a49930b 100644
--- a/sys/i386/isa/cy.c
+++ b/sys/i386/isa/cy.c
@@ -27,7 +27,7 @@
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: cy.c,v 1.11 1995/07/22 16:44:46 bde Exp $
+ * $Id: cy.c,v 1.12 1995/07/29 04:05:53 bde Exp $
*/
#include "cy.h"
@@ -2367,16 +2367,14 @@ disc_optim(tp, t, com)
/*
* XXX can skip a lot more cases if Smarts. Maybe
- * (IGNCR | ISTRIP | IXOFF | IXON) in c_iflag. But perhaps we
+ * (IGNCR | ISTRIP | IXON) in c_iflag. But perhaps we
* shouldn't skip if (TS_CNTTB | TS_LNCH) is set in t_state.
*/
- 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
diff --git a/sys/i386/isa/rc.c b/sys/i386/isa/rc.c
index e496a48401a1..ec93d681f0c6 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
diff --git a/sys/i386/isa/sio.c b/sys/i386/isa/sio.c
index 93469e05491b..a428eeb9411c 100644
--- a/sys/i386/isa/sio.c
+++ b/sys/i386/isa/sio.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
- * $Id: sio.c,v 1.105 1995/07/22 16:44:50 bde Exp $
+ * $Id: sio.c,v 1.106 1995/07/29 04:05:57 bde Exp $
*/
#include "sio.h"
@@ -2082,13 +2082,11 @@ disc_optim(tp, t, com)
struct termios *t;
struct com_s *com;
{
- 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
diff --git a/sys/isa/sio.c b/sys/isa/sio.c
index 93469e05491b..a428eeb9411c 100644
--- a/sys/isa/sio.c
+++ b/sys/isa/sio.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
- * $Id: sio.c,v 1.105 1995/07/22 16:44:50 bde Exp $
+ * $Id: sio.c,v 1.106 1995/07/29 04:05:57 bde Exp $
*/
#include "sio.h"
@@ -2082,13 +2082,11 @@ disc_optim(tp, t, com)
struct termios *t;
struct com_s *com;
{
- 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