From 70e5ee80a6dd564c99e5851b61c9c798a3dcd830 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Fri, 7 Sep 2018 08:19:15 +0530 Subject: [PATCH] handle cases where HOME is missing --- nnn.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nnn.c b/nnn.c index bb400852..9371e9a9 100644 --- a/nnn.c +++ b/nnn.c @@ -391,7 +391,7 @@ printerr(int linenum) { exitcurses(); fprintf(stderr, "line %d: (%d) %s\n", linenum, errno, strerror(errno)); - if (cfg.noxdisplay) + if (cfg.noxdisplay && g_cppath[0]) unlink(g_cppath); exit(1); } @@ -608,6 +608,9 @@ xbasename(char *path) static void writecp(const char *buf, const size_t buflen) { + if (!g_cppath[0]) + return; + FILE *fp = fopen(g_cppath, "w"); if (fp) { @@ -3417,7 +3420,7 @@ main(int argc, char *argv[]) cfg.quote = 1; /* Check if X11 is available */ - if (getenv("NNN_NO_X")) { + if (getenv("NNN_NO_X") && getenv("HOME")) { cfg.noxdisplay = 1; size_t len = xstrlcpy(g_cppath, getenv("HOME"), 48); xstrlcpy(g_cppath + len - 1, "/.nnncp", 48 - len); @@ -3442,7 +3445,7 @@ main(int argc, char *argv[]) browse(ipath, ifilter); exitcurses(); - if (cfg.noxdisplay) + if (cfg.noxdisplay && g_cppath[0]) unlink(g_cppath); #ifdef LINUX_INOTIFY