+++ /dev/null
-From: Lasse Collin <lasse.collin@tukaani.org>
-Date: Fri, 4 Feb 2011 09:29:47 +0000 (+0200)
-Subject: xz: Check if the file already has custom suffix when compressing.
-X-Git-Url: http://repo.or.cz/w/xz.git/commitdiff_plain/8930c7ae3f82bdae15aa129f01de08be23d7e8d7
-
-xz: Check if the file already has custom suffix when compressing.
-
-Now "xz -S .test foo.test" refuses to compress the
-file because it already has the suffix .test. The man
-page had it documented this way already.
----
-
-diff --git a/src/xz/suffix.c b/src/xz/suffix.c
-index ea86c1a..f795e2a 100644
---- a/src/xz/suffix.c
-+++ b/src/xz/suffix.c
-@@ -183,6 +183,15 @@ compressed_name(const char *src_name, const size_t src_len)
- }
- }
-
-+ if (custom_suffix != NULL) {
-+ if (test_suffix(custom_suffix, src_name, src_len) != 0) {
-+ message_warning(_("%s: File already has `%s' "
-+ "suffix, skipping"), src_name,
-+ custom_suffix);
-+ return NULL;
-+ }
-+ }
-+
- // TODO: Hmm, maybe it would be better to validate this in args.c,
- // since the suffix handling when decoding is weird now.
- if (opt_format == FORMAT_RAW && custom_suffix == NULL) {
+++ /dev/null
-From: Lasse Collin <lasse.collin@tukaani.org>
-Date: Fri, 4 Feb 2011 20:49:31 +0000 (+0200)
-Subject: xz: Clean up suffix.c.
-X-Git-Url: http://repo.or.cz/w/xz.git/commitdiff_plain/96f94bc925d579a700147fa5d7793b64d69cfc18
-
-xz: Clean up suffix.c.
-
-struct suffix_pair isn't needed in compresed_name()
-so get rid of it there.
----
-
-diff --git a/src/xz/suffix.c b/src/xz/suffix.c
-index f795e2a..c89f67f 100644
---- a/src/xz/suffix.c
-+++ b/src/xz/suffix.c
-@@ -21,12 +21,6 @@
- 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);