Fix cmd as plugin showing prompt on playing twice

This commit is contained in:
Arun Prakash Jana 2019-12-18 22:27:23 +05:30
parent 6b5bb16b46
commit ac281cb63b
No known key found for this signature in database
GPG Key ID: A75979F35C080412
1 changed files with 8 additions and 9 deletions

View File

@ -3553,28 +3553,27 @@ static void show_help(const char *path)
unlink(g_tmpfpath); 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; uchar flags = F_CLI | F_CONFIRM;
size_t len; size_t len;
DPRINTF_S(file);
/* Get rid of preceding _ */ /* Get rid of preceding _ */
++file; ++file;
if (!*file) if (!*file)
return FALSE; return FALSE;
len = strlen(file); xstrlcpy(newpath, file, PATH_MAX);
if (len > 1 && file[len - 1] == '*') {
len = strlen(newpath);
if (len > 1 && newpath[len - 1] == '*') {
flags &= ~F_CONFIRM; /* GUI case */ 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; --len;
} }
xstrlcpy(newpath, file, PATH_MAX); if (is_suffix(newpath, " $nnn")) {
if (is_suffix(file, " $nnn")) {
/* Set `\0` to clear ' $nnn' suffix */ /* Set `\0` to clear ' $nnn' suffix */
newpath[len - 5] = '\0'; newpath[len - 5] = '\0';
} else } else
@ -3599,7 +3598,7 @@ static bool plctrl_init(void)
return _SUCCESS; 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; int fd;
size_t len; size_t len;