From 407b690404e60f3c66a8b7bb2b580b8d2e6e61f3 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Sun, 17 Nov 2019 17:45:22 +0530 Subject: Fix #384: support busybox xargs --- src/nnn.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/nnn.c b/src/nnn.c index b50f8d4..9f6cd9b 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -1278,7 +1278,7 @@ static bool xdiraccess(const char *path) static void opstr(char *buf, char *op) { #ifdef __linux__ - snprintf(buf, CMD_LEN_MAX, "xargs -0 -a %s -%c {} %s {} .", g_selpath, REPLACE_STR, op); + snprintf(buf, CMD_LEN_MAX, "cat %s | xargs -0 -%c {} %s {} .", g_selpath, REPLACE_STR, op); #else snprintf(buf, CMD_LEN_MAX, "cat %s | xargs -0 -o -%c {} %s {} .", g_selpath, REPLACE_STR, op); #endif @@ -1286,17 +1286,12 @@ static void opstr(char *buf, char *op) static void rmmulstr(char *buf) { - if (cfg.trash) { - snprintf(buf, CMD_LEN_MAX, -#ifdef __linux__ - "xargs -0 -a %s trash-put", g_selpath); -#else - "cat %s | xargs -0 trash-put", g_selpath); -#endif - } else { + if (cfg.trash) + snprintf(buf, CMD_LEN_MAX, "cat %s | xargs -0 trash-put", g_selpath); + else { snprintf(buf, CMD_LEN_MAX, #ifdef __linux__ - "xargs -0 -a %s rm -%cr", g_selpath, confirm_force(TRUE)); + "cat %s | xargs -0 rm -%cr", g_selpath, confirm_force(TRUE)); #else "cat %s | xargs -0 -o rm -%cr", g_selpath, confirm_force(TRUE)); #endif @@ -1335,7 +1330,7 @@ static bool cpmv_rename(int choice, const char *path) bool ret = FALSE; char *cmd = (choice == 'c' ? cp : mv); static const char formatcmd[] = "sed -i 's|^\\(\\(.*/\\)\\(.*\\)$\\)|#\\1\\n\\3|' %s"; - static const char renamecmd[] = "sed 's|^\\([^#][^/]\\?.*\\)$|%s/\\1|;s|^#\\(/.*\\)$|\\1|' %s | tr '\\n' '\\0' | xargs -0 -o -n2 %s"; + static const char renamecmd[] = "sed 's|^\\([^#][^/]\\?.*\\)$|%s/\\1|;s|^#\\(/.*\\)$|\\1|' %s | tr '\\n' '\\0' | xargs -0 -n2 %s"; char buf[sizeof(renamecmd) + sizeof(cmd) + (PATH_MAX << 1)]; fd = create_tmp_file(); -- cgit v1.2.3-70-g09d2