diff options
author | 2016-03-10 17:00:12 +0000 | |
---|---|---|
committer | 2016-03-10 17:03:12 +0000 | |
commit | 3ccbaef87bb70273a6181b298aee01b0cb1f29ab (patch) | |
tree | 23a669c7af49ea4baf9b2f56b85c184368dbde90 | |
parent | 829bcdd7d419b8e07d77edfa9b9878f0f399a99f (diff) | |
download | nnn-3ccbaef87bb70273a6181b298aee01b0cb1f29ab.tar.gz |
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.
-rw-r--r-- | noice.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -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(); |