From 36cd5b72a5f2ca6d396c44145f9186993149f4d6 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Sun, 3 Mar 2019 00:28:53 +0530 Subject: Fix clang warning --- src/nnn.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/nnn.c b/src/nnn.c index e91d40d..9a92e96 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -1205,6 +1205,18 @@ static bool xrm(char *path) return TRUE; } +static void archive_selection(const char *archive, const char *curpath) +{ + snprintf(g_buf, CMD_LEN_MAX, +#ifdef __linux__ + "xargs -0 -a %s %s %s", +#else + "cat %s | xargs -0 -o %s %s", +#endif + g_cppath, utils[APACK], archive); + spawn("sh", "-c", g_buf, curpath, F_NORMAL | F_SIGINT); +} + /* * Returns: * FALSE - a message is shown @@ -3658,17 +3670,8 @@ nochange: goto nochange; } - if (r == 's') { - snprintf(g_buf, CMD_LEN_MAX, -#ifdef __linux__ - "xargs -0 -a %s %s %s", -#else - "cat %s | xargs -0 -o %s %s", -#endif - g_cppath, utils[APACK], tmp); - spawn("sh", "-c", g_buf, path, F_NORMAL | F_SIGINT); - } else - spawn(utils[APACK], tmp, dents[cur].name, path, F_NORMAL); + r == 's' ? archive_selection(tmp, path) + : spawn(utils[APACK], tmp, dents[cur].name, path, F_NORMAL); break; case SEL_OPENWITH: dir = NULL; -- cgit v1.2.3-70-g09d2