bug-inetutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-inetutils] 1.4.2 rlogin.c patch to pass ^S/^Q without using -8


From: Todd R. Eigenschink
Subject: [bug-inetutils] 1.4.2 rlogin.c patch to pass ^S/^Q without using -8
Date: Mon, 14 Jun 2004 17:38:11 -0500

Logic taken from Linux netkit-0.17 rlogin.c.


--- inetutils-1.4.2/rlogin/rlogin.c     2002-06-25 22:15:06.000000000 -0500
+++ inetutils-1.4.2.tek/rlogin/rlogin.c 2004-06-14 17:30:04.654265856 -0500
@@ -573,6 +573,7 @@
 
 pid_t child;
 struct termios deftt;
+struct termios ixon_state;
 struct termios nott;
 
 void
@@ -1068,6 +1069,8 @@
   switch (f)
     {
     case 0:
+      /* remember whether IXON is set, set it can be restore at mode(1). */
+      tcgetattr (0, &ixon_state);
       tcsetattr (0, TCSADRAIN, &deftt);
       break;
     case 1:
@@ -1083,6 +1086,11 @@
          tt.c_cc[VSTOP] = _POSIX_VDISABLE;
          tt.c_cc[VSTART] = _POSIX_VDISABLE;
        }
+      if ((ixon_state.c_iflag & IXON) && ! eight)
+       tt.c_iflag |= IXON;
+      else
+       tt.c_iflag &= ~IXON;
+
       tcsetattr(0, TCSADRAIN, &tt);
       break;
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]