diff options
| author | Jordan K. Hubbard <jkh@FreeBSD.org> | 1995-10-22 14:19:25 +0000 |
|---|---|---|
| committer | Jordan K. Hubbard <jkh@FreeBSD.org> | 1995-10-22 14:19:25 +0000 |
| commit | d2f6feed0d169ad435672407970e4bb57c06bd1b (patch) | |
| tree | ab1e61bfbef7e69cf5f470b19dc03d33eec83820 /lib | |
| parent | 2a72309b63ce081cfd0464c3c5cf316c889e32f6 (diff) | |
Notes
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/libncurses/lib_raw.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/libncurses/lib_raw.c b/lib/libncurses/lib_raw.c index 336f6893e9b08..fac726e6583f8 100644 --- a/lib/libncurses/lib_raw.c +++ b/lib/libncurses/lib_raw.c @@ -21,6 +21,10 @@ #include "curses.priv.h" #include "terminfo.h" +#ifdef TERMIOS +static tcflag_t iexten = 0; +#endif + int raw() { T(("raw() called")); @@ -30,7 +34,9 @@ int raw() SP->_nlmapping = TRUE; #ifdef TERMIOS - cur_term->Nttyb.c_lflag &= ~(ICANON|ISIG); + if(iexten == 0) + iexten = cur_term->Nttyb.c_lflag & IEXTEN; + cur_term->Nttyb.c_lflag &= ~(ICANON|ISIG|iexten); cur_term->Nttyb.c_iflag &= ~(INPCK|ISTRIP|IXON); cur_term->Nttyb.c_oflag &= ~(OPOST); cur_term->Nttyb.c_cc[VMIN] = 1; @@ -119,7 +125,7 @@ int noraw() SP->_nlmapping = SP->_nl; #ifdef TERMIOS - cur_term->Nttyb.c_lflag |= ISIG|ICANON; + cur_term->Nttyb.c_lflag |= ISIG|ICANON|iexten; cur_term->Nttyb.c_iflag |= IXON; cur_term->Nttyb.c_oflag |= OPOST; if((tcsetattr(cur_term->Filedes, TCSANOW, &cur_term->Nttyb)) == -1) |
