summaryrefslogtreecommitdiffstats
path: root/tools/xz/patches/000-upstream-002-clean_suffix.patch
blob: e4e2c79c62e5060be16f0c2b25e473b98e5f19cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
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);