[newlib-cygwin] Cygwin: pty: Add a workaround for rlwrap.

Corinna Vinschen corinna@sourceware.org
Mon Dec 14 10:02:55 GMT 2020


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=8199b0cc38de3553d2e86f170d7da0b64405d10c

commit 8199b0cc38de3553d2e86f170d7da0b64405d10c
Author: Takashi Yano via Cygwin-patches <cygwin-patches@cygwin.com>
Date:   Mon Dec 14 17:26:47 2020 +0900

    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.

Diff:
---
 winsup/cygwin/fhandler_tty.cc | 5 +++++
 1 file changed, 5 insertions(+)

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;
 }


More information about the Cygwin-cvs mailing list