nnn

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 7119310a6a0cac82ae792f1a330015eeaf05dbe4
parent 5d1ca249f90c21e3c379337dd8c6473d56fc1905
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date:   Sat,  8 Dec 2018 17:22:52 +0530

Ensure NNN_SCRIPT(suffix) exists

Diffstat:
Msrc/nnn.c | 10++++++++--
Msrc/nnn.h | 4++--
2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/nnn.c b/src/nnn.c @@ -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; diff --git a/src/nnn.h b/src/nnn.h @@ -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 },