diff options
author | Arun Prakash Jana <engineerarun@gmail.com> | 2019-01-24 21:45:02 +0530 |
---|---|---|
committer | Arun Prakash Jana <engineerarun@gmail.com> | 2019-01-24 21:45:02 +0530 |
commit | 223045fc992db0d7bd34b18cf6c69cdd46b2d517 (patch) | |
tree | 7b3afa8cabc60d0e67724dd6f5fc63ea3313c3e4 | |
parent | 5e5ca2fc951471440db1cdcae87e54b65c5e4846 (diff) | |
download | nnn-223045fc992db0d7bd34b18cf6c69cdd46b2d517.tar.gz |
Use global for HOME
-rw-r--r-- | src/nnn.c | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -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")) |