Support rm current entry

This commit is contained in:
Arun Prakash Jana 2018-11-11 06:15:18 +05:30
parent f41ed544d5
commit dd1eb788d5
No known key found for this signature in database
GPG Key ID: A75979F35C080412
1 changed files with 10 additions and 11 deletions

View File

@ -3078,26 +3078,19 @@ nochange:
case SEL_MV:
case SEL_RMMUL:
{
char *cmd;
if (!g_cppath[0]) {
printmsg("copy file not found");
goto nochange;
}
if (sel == SEL_CP)
r = asprintf(&cmd, "xargs -0 -d \'\n\' -a %s cp -ir --preserve=all -t .", g_cppath);
snprintf(g_buf, MAX_CMD_LEN, "xargs -0 -d \'\n\' -a %s cp -ir --preserve=all -t .", g_cppath);
else if (sel == SEL_MV)
r = asprintf(&cmd, "xargs -0 -d \'\n\' -a %s mv -i -t .", g_cppath);
snprintf(g_buf, MAX_CMD_LEN, "xargs -0 -d \'\n\' -a %s mv -i -t .", g_cppath);
else /* SEL_RMMUL */
r = asprintf(&cmd, "xargs -0 -d \'\n\' -a %s rm -Ir", g_cppath);
snprintf(g_buf, MAX_CMD_LEN, "xargs -0 -d \'\n\' -a %s rm -Ir", g_cppath);
if (r == -1) {
printwarn();
goto nochange;
}
spawn("sh", "-c", cmd, path, F_NORMAL | F_SIGINT);
free(cmd);
spawn("sh", "-c", g_buf, path, F_NORMAL | F_SIGINT);
copycurname();
if (cfg.filtermode)
@ -3105,6 +3098,12 @@ nochange:
goto begin;
}
case SEL_RM:
if (!ndents)
break;
mkpath(path, dents[cur].name, newpath, PATH_MAX);
spawn("rm", "-Ir", newpath, NULL, F_NORMAL | F_SIGINT);
lastname[0] = '\0';
if (cfg.filtermode)
presel = FILTER;