]> Sergey Matveev's repositories - nnn.git/commitdiff
Reformat get archive cmd
authorArun Prakash Jana <engineerarun@gmail.com>
Sat, 29 Feb 2020 08:23:16 +0000 (13:53 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Sat, 29 Feb 2020 08:23:16 +0000 (13:53 +0530)
src/nnn.c

index d939eb6feead711b4ed22900b9c24a30b168b2f5..5ece4d0dbd6290a4b38d363cea83bd8efaf12752 100644 (file)
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -1915,14 +1915,18 @@ finish:
 
 static void get_archive_cmd(char *cmd, char *archive)
 {
+       uchar i = 3;
+       const char *arcmd[] = {"atool -a", "bsdtar -acvf", "zip -r", "tar -acvf"};
+
        if (getutil(utils[UTIL_ATOOL]))
-               xstrlcpy(cmd, "atool -a", ARCHIVE_CMD_LEN);
+               i = 0;
        else if (getutil(utils[UTIL_BSDTAR]))
-               xstrlcpy(cmd, "bsdtar -acvf", ARCHIVE_CMD_LEN);
+               i = 1;
        else if (is_suffix(archive, ".zip"))
-               xstrlcpy(cmd, "zip -r", ARCHIVE_CMD_LEN);
-       else
-               xstrlcpy(cmd, "tar -acvf", ARCHIVE_CMD_LEN);
+               i = 2;
+       // else tar
+
+       xstrlcpy(cmd, arcmd[i], ARCHIVE_CMD_LEN);
 }
 
 static void archive_selection(const char *cmd, const char *archive, const char *curpath)