diff options
author | ache <ache@FreeBSD.org> | 1994-10-11 16:36:53 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1994-10-11 16:36:53 +0000 |
commit | 5f991c5831c9a221aa4fd8e08c1cc4ee54e8e503 (patch) | |
tree | f75e9a29470f6d568aca2b710ad694c3783a1e59 /lib | |
parent | f418b6577e744bfa0c97476aa5d3d3fe8a5bcf8e (diff) | |
download | FreeBSD-src-5f991c5831c9a221aa4fd8e08c1cc4ee54e8e503.zip FreeBSD-src-5f991c5831c9a221aa4fd8e08c1cc4ee54e8e503.tar.gz |
Implement meta bit in more cosher way after contacting with zmbenhal
Shut up compiler warning
Diffstat (limited to 'lib')
-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 47192c2..56fdb5b 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 9060abb..feffc90 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 f732a7c..84dab16 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; |