summaryrefslogtreecommitdiffstats
path: root/lib/libncurses
diff options
context:
space:
mode:
authorjoerg <joerg@FreeBSD.org>1995-10-21 23:47:43 +0000
committerjoerg <joerg@FreeBSD.org>1995-10-21 23:47:43 +0000
commit2a61c0a2e3289ad3c84566576a1fd7e989f75348 (patch)
treea383cd029bb4532d4a81a9ea6484da2a802ba00d /lib/libncurses
parent53a591f7a783ad268c69dd6cba41606bee77b7ec (diff)
downloadFreeBSD-src-2a61c0a2e3289ad3c84566576a1fd7e989f75348.zip
FreeBSD-src-2a61c0a2e3289ad3c84566576a1fd7e989f75348.tar.gz
Finally catch up with the Frenchmen, and create the German message
catalog. :-)
Diffstat (limited to 'lib/libncurses')
-rw-r--r--lib/libncurses/lib_raw.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/libncurses/lib_raw.c b/lib/libncurses/lib_raw.c
index 336f689..fac726e 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)
OpenPOWER on IntegriCloud