summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Yano via Cygwin-patches <cygwin-patches@cygwin.com>2020-12-14 17:26:47 +0900
committerCorinna Vinschen <corinna@vinschen.de>2020-12-14 11:02:23 +0100
commit8199b0cc38de3553d2e86f170d7da0b64405d10c (patch)
tree86918834601675b5fec7d9bcd349aac7766ae745
parent55eff668b878fe6571cd363a4ce80dd0b1d718da (diff)
downloadcygnal-8199b0cc38de3553d2e86f170d7da0b64405d10c.tar.gz
cygnal-8199b0cc38de3553d2e86f170d7da0b64405d10c.tar.bz2
cygnal-8199b0cc38de3553d2e86f170d7da0b64405d10c.zip
Cygwin: pty: Add a workaround for rlwrap.
- If rlwrap is used with non-cygwin apps, it fails to setup pseudo console. This patch adds a workaround for this issue.
-rw-r--r--winsup/cygwin/fhandler_tty.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index 04a9a2bf5..5f38ca8d3 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -1109,6 +1109,11 @@ fhandler_pty_slave::tcgetattr (struct termios *t)
{
reset_switch_to_pcon ();
*t = get_ttyp ()->ti;
+ /* Workaround for rlwrap */
+ if (get_ttyp ()->pcon_start)
+ t->c_lflag &= ~ICANON;
+ else if (get_ttyp ()->h_pseudo_console)
+ t->c_iflag &= ~ICRNL;
return 0;
}