aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2019-01-24 21:45:02 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2019-01-24 21:45:02 +0530
commit223045fc992db0d7bd34b18cf6c69cdd46b2d517 (patch)
tree7b3afa8cabc60d0e67724dd6f5fc63ea3313c3e4
parent5e5ca2fc951471440db1cdcae87e54b65c5e4846 (diff)
downloadnnn-223045fc992db0d7bd34b18cf6c69cdd46b2d517.tar.gz
Use global for HOME
-rw-r--r--src/nnn.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/nnn.c b/src/nnn.c
index 65bfb10..dbe3913 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -307,6 +307,7 @@ static char *editor;
static char *pager, *pager_arg;
static char *shell, *shell_arg;
static char *scriptpath;
+static char *home;
static blkcnt_t ent_blocks;
static blkcnt_t dir_blocks;
static ulong num_files;
@@ -1682,8 +1683,6 @@ static char *get_bm_loc(int key, char *buf)
for (r = 0; bookmark[r].key && r < BM_MAX; ++r) {
if (bookmark[r].key == key) {
if (bookmark[r].loc[0] == '~') {
- char *home = getenv("HOME");
-
if (!home) {
DPRINTF_S(messages[STR_NOHOME_ID]);
return NULL;
@@ -3004,7 +3003,10 @@ nochange:
case SEL_VISIT:
switch (sel) {
case SEL_CDHOME:
- dir = xgetenv("HOME", path);
+ if (home)
+ dir = home;
+ else
+ dir = path;
break;
case SEL_CDBEGIN:
dir = ipath;
@@ -3981,8 +3983,9 @@ int main(int argc, char *argv[])
/* Get the clipboard copier, if set */
copier = getenv(env_cfg[NNN_COPIER]);
- if (getenv("HOME"))
- g_tmpfplen = xstrlcpy(g_tmpfpath, getenv("HOME"), HOME_LEN_MAX);
+ home = getenv("HOME");
+ if (home)
+ g_tmpfplen = xstrlcpy(g_tmpfpath, home, HOME_LEN_MAX);
else if (getenv("TMPDIR"))
g_tmpfplen = xstrlcpy(g_tmpfpath, getenv("TMPDIR"), HOME_LEN_MAX);
else if (xdiraccess("/tmp"))