commit 3ccbaef87bb70273a6181b298aee01b0cb1f29ab
parent 829bcdd7d419b8e07d77edfa9b9878f0f399a99f
Author: sin <sin@2f30.org>
Date: Thu, 10 Mar 2016 17:00:12 +0000
Fix initscr() crash on NetBSD
NetBSD has its own curses implementation and initscr() does not
terminate with an error if TERM is not set properly.
Instead check the return value and exit if an initialization
error occurs.
Diffstat:
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/noice.c b/noice.c
@@ -257,7 +257,16 @@ entrycmp(const void *va, const void *vb)
void
initcurses(void)
{
- initscr();
+ char *term;
+
+ if (initscr() == NULL) {
+ term = getenv("TERM");
+ if (term != NULL)
+ fprintf(stderr, "error opening terminal: %s\n", term);
+ else
+ fprintf(stderr, "failed to initialize curses\n");
+ exit(1);
+ }
cbreak();
noecho();
nonl();