From 8ea50e34cbafa90108a315ff4588714ed5ca1201 Mon Sep 17 00:00:00 2001 From: "Andrey A. Chernov" Date: Tue, 11 Oct 1994 16:36:53 +0000 Subject: [PATCH] Implement meta bit in more cosher way after contacting with zmbenhal Shut up compiler warning --- lib/libncurses/lib_getch.c | 6 ++++++ lib/libncurses/lib_newterm.c | 1 + lib/libncurses/lib_newwin.c | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/lib/libncurses/lib_getch.c b/lib/libncurses/lib_getch.c index 47192c2dfef..56fdb5b7fff 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 9060abbfebf..feffc90188d 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 f732a7c73ba..84dab1663b7 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;