summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Yano via Cygwin-patches <cygwin-patches@cygwin.com>2021-01-15 17:32:09 +0900
committerCorinna Vinschen <corinna@vinschen.de>2021-01-18 11:02:46 +0100
commitfa22eea29d2f3214e9e241c34efce658574d3290 (patch)
tree27399a47013256d0c6f19c0d0da747883e82217a
parent9ad86f619c44f612d6eb14c8b3fe76096cbbe645 (diff)
downloadcygnal-fa22eea29d2f3214e9e241c34efce658574d3290.tar.gz
cygnal-fa22eea29d2f3214e9e241c34efce658574d3290.tar.bz2
cygnal-fa22eea29d2f3214e9e241c34efce658574d3290.zip
Cygwin: pty: Add workaround for rlwrap 0.40 or later.
- The workaround for rlwrap introduced by commit 8199b0cc does not take effect for rlwrap 0.40 or later. This patch add a workaround for rlwrap 0.40 or later as well.
-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 77f7bfe43..8ff74cdde 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -1720,6 +1720,11 @@ int
fhandler_pty_master::tcgetattr (struct termios *t)
{
*t = cygwin_shared->tty[get_minor ()]->ti;
+ /* Workaround for rlwrap v0.40 or later */
+ if (get_ttyp ()->pcon_start)
+ t->c_lflag &= ~(ICANON | ECHO);
+ if (get_ttyp ()->h_pseudo_console)
+ t->c_iflag &= ~ICRNL;
return 0;
}