]> Sergey Matveev's repositories - nnn.git/commitdiff
Fix cmd as plugin showing prompt on playing twice
authorArun Prakash Jana <engineerarun@gmail.com>
Wed, 18 Dec 2019 16:57:23 +0000 (22:27 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Wed, 18 Dec 2019 16:57:23 +0000 (22:27 +0530)
src/nnn.c

index 2781481cb1d1a05e5531ead0b925f1cddbf220d4..81fe06d8c3ba20192defba901718c4bb54525baa 100644 (file)
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -3553,28 +3553,27 @@ static void show_help(const char *path)
        unlink(g_tmpfpath);
 }
 
-static bool run_cmd_as_plugin(const char *path, char *file, char *newpath, char *runfile)
+static bool run_cmd_as_plugin(const char *path, const char *file, char *newpath, char *runfile)
 {
        uchar flags = F_CLI | F_CONFIRM;
        size_t len;
 
-       DPRINTF_S(file);
-
        /* Get rid of preceding _ */
        ++file;
 
        if (!*file)
                return FALSE;
 
-       len = strlen(file);
-       if (len > 1 && file[len - 1] == '*') {
+       xstrlcpy(newpath, file, PATH_MAX);
+
+       len = strlen(newpath);
+       if (len > 1 && newpath[len - 1] == '*') {
                flags &= ~F_CONFIRM; /* GUI case */
-               file[len - 1] = '\0'; /* Get rid of trailing nowait symbol */
+               newpath[len - 1] = '\0'; /* Get rid of trailing nowait symbol */
                --len;
        }
 
-       xstrlcpy(newpath, file, PATH_MAX);
-       if (is_suffix(file, " $nnn")) {
+       if (is_suffix(newpath, " $nnn")) {
                /* Set `\0` to clear ' $nnn' suffix */
                newpath[len - 5] = '\0';
        } else
@@ -3599,7 +3598,7 @@ static bool plctrl_init(void)
        return _SUCCESS;
 }
 
-static bool run_selected_plugin(char **path, char *file, char *newpath, char *runfile, char **lastname, char **lastdir)
+static bool run_selected_plugin(char **path, const char *file, char *newpath, char *runfile, char **lastname, char **lastdir)
 {
        int fd;
        size_t len;