Module Name: src
Committed By: roy
Date: Mon Jan 30 16:50:44 UTC 2017
Modified Files:
src/lib/libcurses: getch.c setterm.c
Log Message:
Check _cursesi_term is set in a few places and sprinkle some static.
To generate a diff of this commit:
cvs rdiff -u -r1.63 -r1.64 src/lib/libcurses/getch.c
cvs rdiff -u -r1.62 -r1.63 src/lib/libcurses/setterm.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libcurses/getch.c
diff -u src/lib/libcurses/getch.c:1.63 src/lib/libcurses/getch.c:1.64
--- src/lib/libcurses/getch.c:1.63 Mon Jan 30 14:55:58 2017
+++ src/lib/libcurses/getch.c Mon Jan 30 16:50:44 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: getch.c,v 1.63 2017/01/30 14:55:58 roy Exp $ */
+/* $NetBSD: getch.c,v 1.64 2017/01/30 16:50:44 roy Exp $ */
/*
* Copyright (c) 1981, 1993, 1994
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)getch.c 8.2 (Berkeley) 5/4/94";
#else
-__RCSID("$NetBSD: getch.c,v 1.63 2017/01/30 14:55:58 roy Exp $");
+__RCSID("$NetBSD: getch.c,v 1.64 2017/01/30 16:50:44 roy Exp $");
#endif
#endif /* not lint */
@@ -342,7 +342,7 @@ add_new_key(keymap_t *current, char chr,
* Delete the given key symbol from the key mappings for the screen.
*
*/
-void
+static void
delete_key_sequence(keymap_t *current, int key_type)
{
key_entry_t *key;
@@ -379,7 +379,7 @@ delete_key_sequence(keymap_t *current, i
* Add the sequence of characters given in sequence as the key mapping
* for the given key symbol.
*/
-void
+static void
add_key_sequence(SCREEN *screen, char *sequence, int key_type)
{
key_entry_t *tmp_key;
@@ -543,7 +543,7 @@ new_key(void)
*
*/
-wchar_t
+static wchar_t
inkey(int to, int delay)
{
wchar_t k;
@@ -736,7 +736,9 @@ keyok(int key_type, bool flag)
{
int result = ERR;
- do_keyok(_cursesi_screen->base_keymap, key_type, true, flag, &result);
+ if (_cursesi_screen != NULL)
+ do_keyok(_cursesi_screen->base_keymap, key_type,
+ true, flag, &result);
return result;
}
@@ -781,7 +783,7 @@ int
define_key(char *sequence, int symbol)
{
- if (symbol <= 0)
+ if (symbol <= 0 || _cursesi_screen == NULL)
return ERR;
if (sequence == NULL) {
@@ -810,10 +812,12 @@ wgetch(WINDOW *win)
#ifdef DEBUG
__CTRACE(__CTRACE_INPUT, "wgetch: win(%p)\n", win);
#endif
+ if (win == NULL)
+ return ERR;
if (!(win->flags & __SCROLLOK) && (win->flags & __FULLWIN)
&& win->curx == win->maxx - 1 && win->cury == win->maxy - 1
&& __echoit)
- return (ERR);
+ return ERR;
if (is_wintouched(win))
wrefresh(win);
@@ -946,6 +950,8 @@ __unget(wint_t c)
#ifdef DEBUG
__CTRACE(__CTRACE_INPUT, "__unget(%x)\n", c);
#endif
+ if (_cursesi_screen == NULL)
+ return ERR;
if (_cursesi_screen->unget_pos >= _cursesi_screen->unget_len) {
len = _cursesi_screen->unget_len + 32;
if ((p = realloc(_cursesi_screen->unget_list,
@@ -976,7 +982,9 @@ has_key(int key_type)
{
int result = ERR;
- do_keyok(_cursesi_screen->base_keymap, key_type, false, false, &result);
+ if (_cursesi_screen != NULL)
+ do_keyok(_cursesi_screen->base_keymap, key_type,
+ false, false, &result);
return result;
}
@@ -988,6 +996,8 @@ int
set_escdelay(int escdelay)
{
+ if (_cursesi_screen == NULL)
+ return ERR;
_cursesi_screen->ESCDELAY = escdelay;
_reentrant = true;
ESCDELAY = escdelay;
Index: src/lib/libcurses/setterm.c
diff -u src/lib/libcurses/setterm.c:1.62 src/lib/libcurses/setterm.c:1.63
--- src/lib/libcurses/setterm.c:1.62 Mon Jan 30 14:55:58 2017
+++ src/lib/libcurses/setterm.c Mon Jan 30 16:50:44 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: setterm.c,v 1.62 2017/01/30 14:55:58 roy Exp $ */
+/* $NetBSD: setterm.c,v 1.63 2017/01/30 16:50:44 roy Exp $ */
/*
* Copyright (c) 1981, 1993, 1994
@@ -34,7 +34,7 @@
#if 0
static char sccsid[] = "@(#)setterm.c 8.8 (Berkeley) 10/25/94";
#else
-__RCSID("$NetBSD: setterm.c,v 1.62 2017/01/30 14:55:58 roy Exp $");
+__RCSID("$NetBSD: setterm.c,v 1.63 2017/01/30 16:50:44 roy Exp $");
#endif
#endif /* not lint */
@@ -403,6 +403,8 @@ int
set_tabsize(int tabsize)
{
+ if (_cursesi_screen == NULL)
+ return ERR;
_cursesi_screen->TABSIZE = tabsize;
_reentrant = true;
TABSIZE = tabsize;