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;

Reply via email to