summaryrefslogtreecommitdiff
path: root/usr.bin/tip
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2013-06-02 13:18:12 +0000
committerchristos <christos@NetBSD.org>2013-06-02 13:18:12 +0000
commit4c9427c0d204d60629f504fa9c0c2bfcf8337ffc (patch)
tree2068210e0cc65a04702b2542bcfe2c30a4266f7b /usr.bin/tip
parent0f855662d547cc255d411d4d3a7e08ec4799d035 (diff)
PR/47877: Michael van Elst: Disable and enable software flow control properly
Diffstat (limited to 'usr.bin/tip')
-rw-r--r--usr.bin/tip/cmds.c12
-rw-r--r--usr.bin/tip/tip.c8
2 files changed, 11 insertions, 9 deletions
diff --git a/usr.bin/tip/cmds.c b/usr.bin/tip/cmds.c
index 4449b994ba2..0e67c384008 100644
--- a/usr.bin/tip/cmds.c
+++ b/usr.bin/tip/cmds.c
@@ -1,4 +1,4 @@
-/* $NetBSD: cmds.c,v 1.35 2012/02/24 16:03:39 joerg Exp $ */
+/* $NetBSD: cmds.c,v 1.36 2013/06/02 13:18:12 christos Exp $ */
/*
* Copyright (c) 1983, 1993
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)cmds.c 8.1 (Berkeley) 6/6/93";
#endif
-__RCSID("$NetBSD: cmds.c,v 1.35 2012/02/24 16:03:39 joerg Exp $");
+__RCSID("$NetBSD: cmds.c,v 1.36 2013/06/02 13:18:12 christos Exp $");
#endif /* not lint */
#include "tip.h"
@@ -792,11 +792,11 @@ tandem(const char *option)
(void)tcgetattr(FD, &rmtty);
if (strcmp(option, "on") == 0) {
- rmtty.c_iflag |= IXOFF;
- term.c_iflag |= IXOFF;
+ rmtty.c_iflag |= IXON|IXOFF|IXANY;
+ term.c_iflag |= IXON|IXOFF|IXANY;
} else {
- rmtty.c_iflag &= ~IXOFF;
- term.c_iflag &= ~IXOFF;
+ rmtty.c_iflag &= ~(IXON|IXOFF|IXANY);
+ term.c_iflag &= ~(IXON|IXOFF|IXANY);
}
(void)tcsetattr(FD, TCSADRAIN, &rmtty);
(void)tcsetattr(0, TCSADRAIN, &term);
diff --git a/usr.bin/tip/tip.c b/usr.bin/tip/tip.c
index 2c701845cc9..207ee5403f8 100644
--- a/usr.bin/tip/tip.c
+++ b/usr.bin/tip/tip.c
@@ -1,4 +1,4 @@
-/* $NetBSD: tip.c,v 1.51 2011/09/06 18:33:01 joerg Exp $ */
+/* $NetBSD: tip.c,v 1.52 2013/06/02 13:18:12 christos Exp $ */
/*
* Copyright (c) 1983, 1993
@@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1983, 1993\
#if 0
static char sccsid[] = "@(#)tip.c 8.1 (Berkeley) 6/6/93";
#endif
-__RCSID("$NetBSD: tip.c,v 1.51 2011/09/06 18:33:01 joerg Exp $");
+__RCSID("$NetBSD: tip.c,v 1.52 2013/06/02 13:18:12 christos Exp $");
#endif /* not lint */
/*
@@ -496,7 +496,9 @@ ttysetup(speed_t spd)
cntrl.c_cc[VMIN] = 1;
cntrl.c_cc[VTIME] = 0;
if (boolean(value(TAND)))
- cntrl.c_iflag |= IXOFF;
+ cntrl.c_iflag |= IXOFF|IXON|IXANY;
+ else
+ cntrl.c_iflag &= ~(IXOFF|IXON|IXANY);
return tcsetattr(FD, TCSAFLUSH, &cntrl);
}