[newlib-cygwin] Cygwin: pty: Add workaround for rlwrap 0.40 or later.

Corinna Vinschen corinna@sourceware.org
Mon Jan 18 10:23:51 GMT 2021


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

commit fa22eea29d2f3214e9e241c34efce658574d3290
Author: Takashi Yano via Cygwin-patches <cygwin-patches@cygwin.com>
Date:   Fri Jan 15 17:32:09 2021 +0900

    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.

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


More information about the Cygwin-cvs mailing list