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

View file

@ -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;