Module Name:    src
Committed By:   christos
Date:           Sun Jun  2 13:18:12 UTC 2013

Modified Files:
        src/usr.bin/tip: cmds.c tip.c

Log Message:
PR/47877: Michael van Elst: Disable and enable software flow control properly


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/usr.bin/tip/cmds.c
cvs rdiff -u -r1.51 -r1.52 src/usr.bin/tip/tip.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/tip/cmds.c
diff -u src/usr.bin/tip/cmds.c:1.35 src/usr.bin/tip/cmds.c:1.36
--- src/usr.bin/tip/cmds.c:1.35	Fri Feb 24 11:03:39 2012
+++ src/usr.bin/tip/cmds.c	Sun Jun  2 09:18:12 2013
@@ -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);

Index: src/usr.bin/tip/tip.c
diff -u src/usr.bin/tip/tip.c:1.51 src/usr.bin/tip/tip.c:1.52
--- src/usr.bin/tip/tip.c:1.51	Tue Sep  6 14:33:01 2011
+++ src/usr.bin/tip/tip.c	Sun Jun  2 09:18:12 2013
@@ -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, 19
 #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);
 }
 

Reply via email to