aboutsummaryrefslogtreecommitdiffstats
path: root/noice.c
diff options
context:
space:
mode:
authorsin <sin@2f30.org>2016-03-10 17:00:12 +0000
committersin <sin@2f30.org>2016-03-10 17:03:12 +0000
commit3ccbaef87bb70273a6181b298aee01b0cb1f29ab (patch)
tree23a669c7af49ea4baf9b2f56b85c184368dbde90 /noice.c
parent829bcdd7d419b8e07d77edfa9b9878f0f399a99f (diff)
downloadnoice-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.
Diffstat (limited to 'noice.c')
-rw-r--r--noice.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/noice.c b/noice.c
index 489caab..a588a55 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();
Un proyecto texto-plano.xyz