nnn

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

commit f31fa09f5608d9fbe922a898adbb6091396bd572
parent 688ed885d1edfbc2cb228cac53955d72c6521e81
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date:   Fri, 15 Nov 2019 22:36:37 +0530

Fix issue with running plugin when help screen is shown

Diffstat:
Msrc/nnn.c | 14++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/nnn.c b/src/nnn.c @@ -3375,6 +3375,8 @@ static void show_help(const char *path) static bool plctrl_init(void) { snprintf(g_buf, CMD_LEN_MAX, "nnn-pipe.%d", getpid()); + /* g_tmpfpath is used to generate tmp file names */ + g_tmpfpath[g_tmpfplen - 1] = '\0'; mkpath(g_tmpfpath, g_buf, g_pipepath); unlink(g_pipepath); if (mkfifo(g_pipepath, 0600) != 0) @@ -3395,9 +3397,8 @@ static bool run_selected_plugin(char **path, const char *file, char *newpath, ch g_plinit = TRUE; } - if ((cfg.runctx != cfg.curctx) - /* Must be in plugin directory to select plugin */ - || (!direct && strcmp(*path, plugindir) != 0)) + /* Must be in plugin directory to select plugin */ + if (!direct && ((cfg.runctx != cfg.curctx) || (strcmp(*path, plugindir) != 0))) return FALSE; fd = open(g_pipepath, O_RDONLY | O_NONBLOCK); @@ -4972,12 +4973,13 @@ nochange: spawn(newpath, (ndents ? dents[cur].name : NULL), NULL, path, F_CLI | F_CONFIRM); } else { - cfg.runctx = cfg.curctx; if (!run_selected_plugin(&path, tmp, newpath, NULL, (ndents ? dents[cur].name : NULL), - &lastname, &lastdir, TRUE)) + &lastname, &lastdir, TRUE)) { + if (cfg.filtermode) + presel = FILTER; goto nochange; - + } } } else { cfg.runplugin ^= 1;