diff options
| author | Andrey A. Chernov <ache@FreeBSD.org> | 1994-10-11 16:36:53 +0000 |
|---|---|---|
| committer | Andrey A. Chernov <ache@FreeBSD.org> | 1994-10-11 16:36:53 +0000 |
| commit | 8ea50e34cbafa90108a315ff4588714ed5ca1201 (patch) | |
| tree | f75e9a29470f6d568aca2b710ad694c3783a1e59 | |
| parent | 65bbec73d7f78fedcaf2b2b438517c42f2baf9dd (diff) | |
Notes
| -rw-r--r-- | lib/libncurses/lib_getch.c | 6 | ||||
| -rw-r--r-- | lib/libncurses/lib_newterm.c | 1 | ||||
| -rw-r--r-- | lib/libncurses/lib_newwin.c | 5 |
3 files changed, 12 insertions, 0 deletions
diff --git a/lib/libncurses/lib_getch.c b/lib/libncurses/lib_getch.c index 47192c2dfef6..56fdb5b7fffe 100644 --- a/lib/libncurses/lib_getch.c +++ b/lib/libncurses/lib_getch.c @@ -143,6 +143,12 @@ int ch; ch = fifo_pull(); } + /* This should be eliminated */ + /* handle 8-bit input */ + if (ch & 0x80) + if (!win->_use_meta) + ch &= 0x7f; + /* there must be a simpler way of doing this */ if (!(win->_flags & _ISPAD) && SP->_echo && ch < 0400) { /* ch < 0400 => not a keypad key */ diff --git a/lib/libncurses/lib_newterm.c b/lib/libncurses/lib_newterm.c index 9060abbfebfc..feffc90188df 100644 --- a/lib/libncurses/lib_newterm.c +++ b/lib/libncurses/lib_newterm.c @@ -49,6 +49,7 @@ int stolen, topstolen; extern char _ncurses_copyright[]; char *use_it = _ncurses_copyright; + use_it = use_it; /* shut up compiler */ #ifdef TRACE _init_trace(); T(("newterm(%s,%x,%x) called", term, ofp, ifp)); diff --git a/lib/libncurses/lib_newwin.c b/lib/libncurses/lib_newwin.c index f732a7c73baf..84dab1663b78 100644 --- a/lib/libncurses/lib_newwin.c +++ b/lib/libncurses/lib_newwin.c @@ -149,7 +149,12 @@ WINDOW *win; win->_scroll = FALSE; win->_leave = FALSE; win->_use_keypad = FALSE; +#ifdef TERMIOS + win->_use_meta = ((cur_term->Ottyb.c_cflag & CSIZE) == CS8 && + !(cur_term->Ottyb.c_iflag & ISTRIP)); +#else win->_use_meta = FALSE; +#endif win->_delay = -1; win->_immed = FALSE; win->_sync = 0; |
