summaryrefslogtreecommitdiffstats
path: root/tools/xz/patches/000-upstream-001-check_compress.patch
blob: 1b918a4f3001f1a5019012b98fdf99cc51c6a160 (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
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) {