Parcourir la source

Support rm current entry

master
Arun Prakash Jana il y a 6 ans
Parent
révision
dd1eb788d5
Aucune clé connue n'a été trouvée dans la base pour cette signature ID de la clé GPG: A75979F35C080412
1 fichiers modifiés avec 10 ajouts et 11 suppressions
  1. +10
    -11
      src/nnn.c

+ 10
- 11
src/nnn.c Voir le fichier

@@ -3078,26 +3078,19 @@ nochange:
case SEL_MV: case SEL_MV:
case SEL_RMMUL: case SEL_RMMUL:
{ {
char *cmd;

if (!g_cppath[0]) { if (!g_cppath[0]) {
printmsg("copy file not found"); printmsg("copy file not found");
goto nochange; goto nochange;
} }


if (sel == SEL_CP) 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) 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 */ 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) { spawn("sh", "-c", g_buf, path, F_NORMAL | F_SIGINT);
printwarn();
goto nochange;
}
spawn("sh", "-c", cmd, path, F_NORMAL | F_SIGINT);
free(cmd);


copycurname(); copycurname();
if (cfg.filtermode) if (cfg.filtermode)
@@ -3105,6 +3098,12 @@ nochange:
goto begin; goto begin;
} }
case SEL_RM: 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'; lastname[0] = '\0';
if (cfg.filtermode) if (cfg.filtermode)
presel = FILTER; presel = FILTER;


||||||
x
 
000:0
Chargement…
Annuler
Enregistrer