]> granicus.if.org Git - xz/commitdiff
xz: Clean up suffix.c.
authorLasse Collin <lasse.collin@tukaani.org>
Fri, 4 Feb 2011 20:49:31 +0000 (22:49 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Fri, 4 Feb 2011 20:49:31 +0000 (22:49 +0200)
struct suffix_pair isn't needed in compresed_name()
so get rid of it there.

src/xz/suffix.c

index f795e2ad322e0034aa77aab8db71e6f377f2a28a..c89f67fe853e356ab802b17b3f444af0d50b654f 100644 (file)
 static char *custom_suffix = NULL;
 
 
-struct suffix_pair {
-       const char *compressed;
-       const char *uncompressed;
-};
-
-
 /// \brief      Test if the char is a directory separator
 static bool
 is_dir_sep(char c)
@@ -86,7 +80,10 @@ test_suffix(const char *suffix, const char *src_name, size_t src_len)
 static char *
 uncompressed_name(const char *src_name, const size_t src_len)
 {
-       static const struct suffix_pair suffixes[] = {
+       static const struct {
+               const char *compressed;
+               const char *uncompressed;
+       } suffixes[] = {
                { ".xz",    "" },
                { ".txz",   ".tar" }, // .txz abbreviation for .txt.gz is rare.
                { ".lzma",  "" },
@@ -145,25 +142,25 @@ static char *
 compressed_name(const char *src_name, const size_t src_len)
 {
        // The order of these must match the order in args.h.
-       static const struct suffix_pair all_suffixes[][3] = {
+       static const char *const all_suffixes[][3] = {
                {
-                       { ".xz",    "" },
-                       { ".txz",   ".tar" },
-                       { NULL, NULL }
+                       ".xz",
+                       ".txz",
+                       NULL
                }, {
-                       { ".lzma",  "" },
-                       { ".tlz",   ".tar" },
-                       { NULL,     NULL }
+                       ".lzma",
+                       ".tlz",
+                       NULL
 /*
                }, {
-                       { ".gz",    "" },
-                       { ".tgz",   ".tar" },
-                       { NULL,     NULL }
+                       ".gz",
+                       ".tgz",
+                       NULL
 */
                }, {
                        // --format=raw requires specifying the suffix
                        // manually or using stdout.
-                       { NULL,     NULL }
+                       NULL
                }
        };
 
@@ -171,14 +168,13 @@ compressed_name(const char *src_name, const size_t src_len)
        assert(opt_format != FORMAT_AUTO);
 
        const size_t format = opt_format - 1;
-       const struct suffix_pair *const suffixes = all_suffixes[format];
+       const char *const *suffixes = all_suffixes[format];
 
-       for (size_t i = 0; suffixes[i].compressed != NULL; ++i) {
-               if (test_suffix(suffixes[i].compressed, src_name, src_len)
-                               != 0) {
+       for (size_t i = 0; suffixes[i] != NULL; ++i) {
+               if (test_suffix(suffixes[i], src_name, src_len) != 0) {
                        message_warning(_("%s: File already has `%s' "
                                        "suffix, skipping"), src_name,
-                                       suffixes[i].compressed);
+                                       suffixes[i]);
                        return NULL;
                }
        }
@@ -202,7 +198,7 @@ compressed_name(const char *src_name, const size_t src_len)
        }
 
        const char *suffix = custom_suffix != NULL
-                       ? custom_suffix : suffixes[0].compressed;
+                       ? custom_suffix : suffixes[0];
        const size_t suffix_len = strlen(suffix);
 
        char *dest_name = xmalloc(src_len + suffix_len + 1);