diff options
author | Arun Prakash Jana <engineerarun@gmail.com> | 2018-12-08 17:22:52 +0530 |
---|---|---|
committer | Arun Prakash Jana <engineerarun@gmail.com> | 2018-12-08 17:38:17 +0530 |
commit | 7119310a6a0cac82ae792f1a330015eeaf05dbe4 (patch) | |
tree | c0eabe8e4a6ca86c9aae9653441611088b16a3a2 /src | |
parent | 5d1ca249f90c21e3c379337dd8c6473d56fc1905 (diff) | |
download | nnn-7119310a6a0cac82ae792f1a330015eeaf05dbe4.tar.gz |
Ensure NNN_SCRIPT(suffix) exists
Diffstat (limited to 'src')
-rw-r--r-- | src/nnn.c | 10 | ||||
-rw-r--r-- | src/nnn.h | 4 |
2 files changed, 10 insertions, 4 deletions
@@ -3372,8 +3372,8 @@ nochange: xstrlcpy(lastname, tmp, NAME_MAX + 1); goto begin; case SEL_SHELL: // fallthrough - case SEL_RUNSCRIPT: - if (sel == SEL_RUNSCRIPT) { + case SEL_SCRIPT: + if (sel == SEL_SCRIPT) { tmp = getenv("NNN_SCRIPT"); if (tmp) { if (getenv("NNN_MULTISCRIPT")) { @@ -3385,6 +3385,12 @@ nochange: tmp = newpath; } + /* Check if file exists */ + if (access(tmp, F_OK) == -1) { + printwarn(); + goto nochange; + } + dir = NULL; /* dir used as temp var */ if (ndents) dir = dents[cur].name; @@ -81,7 +81,7 @@ enum action { SEL_RENAMEALL, SEL_HELP, SEL_SHELL, - SEL_RUNSCRIPT, + SEL_SCRIPT, SEL_RUNEDIT, SEL_RUNPAGE, SEL_LOCK, @@ -213,7 +213,7 @@ static struct key bindings[] = { { '!', SEL_SHELL }, { CONTROL(']'), SEL_SHELL }, /* Run a custom script */ - { 'R', SEL_RUNSCRIPT }, + { 'R', SEL_SCRIPT }, /* Run command with argument */ { 'e', SEL_RUNEDIT }, { 'p', SEL_RUNPAGE }, |