diff options
author | Arun Prakash Jana <engineerarun@gmail.com> | 2019-11-22 21:17:55 +0530 |
---|---|---|
committer | Arun Prakash Jana <engineerarun@gmail.com> | 2019-11-22 23:43:43 +0530 |
commit | b63c00c9af55e7a28cf415ced1015caa74f1b829 (patch) | |
tree | 4f50cac28d806c0e49fbd1b0f20d8ab55104a3db /src/nnn.c | |
parent | 2c35beb0a22c52003d662248e53197df7fc324d3 (diff) | |
download | nnn-b63c00c9af55e7a28cf415ced1015caa74f1b829.tar.gz |
Quote so files with newline in name work
Diffstat (limited to 'src/nnn.c')
-rw-r--r-- | src/nnn.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -525,7 +525,7 @@ static char mv[] = "mv -i"; #endif static const char cpmvformatcmd[] = "sed -i 's|^\\(\\(.*/\\)\\(.*\\)$\\)|#\\1\\n\\3|' %s"; -static const char cpmvrenamecmd[] = "sed 's|^\\([^#][^/]\\?.*\\)$|%s/\\1|;s|^#\\(/.*\\)$|\\1|' %s | tr '\\n' '\\0' | xargs -0 -n2 sh -c '%s $0 $@ < /dev/tty'"; +static const char cpmvrenamecmd[] = "sed 's|^\\([^#][^/]\\?.*\\)$|%s/\\1|;s|^#\\(/.*\\)$|\\1|' %s | tr '\\n' '\\0' | xargs -0 -n2 sh -c '%s \"$0\" \"$@\" < /dev/tty'"; static const char batchrenamecmd[] = "paste -d'\n' %s %s | sed 'N; /^\\(.*\\)\\n\\1$/!p;d' | tr '\n' '\\0' | xargs -0 -n2 mv 2>/dev/null"; /* Event handling */ @@ -1340,7 +1340,7 @@ static bool xdiraccess(const char *path) static void opstr(char *buf, char *op) { - snprintf(buf, CMD_LEN_MAX, "xargs -0 sh -c '%s $0 $@ . < /dev/tty' < %s", op, g_selpath); + snprintf(buf, CMD_LEN_MAX, "xargs -0 sh -c '%s \"$0\" \"$@\" . < /dev/tty' < %s", op, g_selpath); } static void rmmulstr(char *buf) @@ -1348,7 +1348,7 @@ static void rmmulstr(char *buf) if (cfg.trash) snprintf(buf, CMD_LEN_MAX, "xargs -0 trash-put < %s", g_selpath); else - snprintf(buf, CMD_LEN_MAX, "xargs -0 sh -c 'rm -%cr $0 $@ < /dev/tty' < %s", + snprintf(buf, CMD_LEN_MAX, "xargs -0 sh -c 'rm -%cr \"$0\" \"$@\" < /dev/tty' < %s", confirm_force(TRUE), g_selpath); } |