]> Sergey Matveev's repositories - nnn.git/commitdiff
Use global for HOME
authorArun Prakash Jana <engineerarun@gmail.com>
Thu, 24 Jan 2019 16:15:02 +0000 (21:45 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Thu, 24 Jan 2019 16:15:02 +0000 (21:45 +0530)
src/nnn.c

index 65bfb10816e1fac3f5a2c9dad77ad5fa1c5cd3ba..dbe391358f8ad86a1d385ba91bb580a6a1a80718 100644 (file)
--- 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"))