xref: /OK3568_Linux_fs/buildroot/package/uemacs/01-clear-ixon-termios-flag.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun[PATCH] clear ixon termios flag on initialization
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunOtherwise ctrl-S/Q gets intercepted by the tty layer instead of
4*4882a593Smuzhiyunhandled by uemacs.
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunSigned-off-by: Peter Korsgaard <jacmet@sunsite.dk>
7*4882a593Smuzhiyundiff --git a/posix.c b/posix.c
8*4882a593Smuzhiyunindex 97edd9f052b1..352c4712b689 100644
9*4882a593Smuzhiyun--- a/posix.c
10*4882a593Smuzhiyun+++ b/posix.c
11*4882a593Smuzhiyun@@ -53,17 +53,17 @@ void ttopen(void)
12*4882a593Smuzhiyun 	/*
13*4882a593Smuzhiyun 	 * base new settings on old ones - don't change things
14*4882a593Smuzhiyun 	 * we don't know about
15*4882a593Smuzhiyun 	 */
16*4882a593Smuzhiyun 	ntermios = otermios;
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun 	/* raw CR/NL etc input handling, but keep ISTRIP if we're on a 7-bit line */
19*4882a593Smuzhiyun 	ntermios.c_iflag &= ~(IGNBRK | BRKINT | IGNPAR | PARMRK
20*4882a593Smuzhiyun-			      | INPCK | INLCR | IGNCR | ICRNL);
21*4882a593Smuzhiyun+			      | INPCK | INLCR | IGNCR | ICRNL | IXON);
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun 	/* raw CR/NR etc output handling */
24*4882a593Smuzhiyun 	ntermios.c_oflag &=
25*4882a593Smuzhiyun 	    ~(OPOST | ONLCR | OLCUC | OCRNL | ONOCR | ONLRET);
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun 	/* No signal handling, no echo etc */
28*4882a593Smuzhiyun 	ntermios.c_lflag &= ~(ISIG | ICANON | XCASE | ECHO | ECHOE | ECHOK
29*4882a593Smuzhiyun 			      | ECHONL | NOFLSH | TOSTOP | ECHOCTL |
30