Cygwin: pty: Lessen the side effect of workaround for rlwarp.

- This patch lessens the side effect of the workaround for rlwrap
  introduced by commit 4e16b033.
This commit is contained in:
Takashi Yano via Cygwin-patches 2021-01-19 18:27:02 +09:00 committed by Corinna Vinschen
parent 59ccb3a008
commit 62e739b51b
1 changed files with 12 additions and 4 deletions

View File

@ -1176,11 +1176,19 @@ 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 | ECHO);
if (get_ttyp ()->h_pseudo_console)
t->c_iflag &= ~ICRNL;
cygheap_fdenum cfd (false);
while (cfd.next () >= 0)
if (cfd->get_major () == DEV_PTYM_MAJOR
&& cfd->get_minor () == get_minor ())
{
if (get_ttyp ()->pcon_start)
t->c_lflag &= ~(ICANON | ECHO);
if (get_ttyp ()->h_pseudo_console)
t->c_iflag &= ~ICRNL;
break;
}
return 0;
}