From: sin Date: Thu, 10 Mar 2016 17:00:12 +0000 (+0000) Subject: Fix initscr() crash on NetBSD X-Git-Tag: v1.0~92^2~1 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=3ccbaef87bb70273a6181b298aee01b0cb1f29ab;p=nnn.git 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. --- diff --git a/noice.c b/noice.c index 489caabe..a588a55c 100644 --- 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();