mirror of
https://git.tukaani.org/xz.git
synced 2024-04-04 12:36:23 +02:00
Fixed suffix handling with --format=raw.
This commit is contained in:
parent
bd137524f2
commit
fcfb86c777
1 changed files with 19 additions and 9 deletions
|
@ -72,12 +72,22 @@ uncompressed_name(const char *src_name, const size_t src_len)
|
||||||
const char *new_suffix = "";
|
const char *new_suffix = "";
|
||||||
size_t new_len = 0;
|
size_t new_len = 0;
|
||||||
|
|
||||||
for (size_t i = 0; i < ARRAY_SIZE(suffixes); ++i) {
|
if (opt_format == FORMAT_RAW) {
|
||||||
new_len = test_suffix(suffixes[i].compressed,
|
// Don't check for known suffixes when --format=raw was used.
|
||||||
src_name, src_len);
|
if (opt_suffix == NULL) {
|
||||||
if (new_len != 0) {
|
errmsg(V_ERROR, _("%s: With --format=raw, "
|
||||||
new_suffix = suffixes[i].uncompressed;
|
"--suffix=.SUF is required unless "
|
||||||
break;
|
"writing to stdout"), src_name);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (size_t i = 0; i < ARRAY_SIZE(suffixes); ++i) {
|
||||||
|
new_len = test_suffix(suffixes[i].compressed,
|
||||||
|
src_name, src_len);
|
||||||
|
if (new_len != 0) {
|
||||||
|
new_suffix = suffixes[i].uncompressed;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -154,9 +164,9 @@ compressed_name(const char *src_name, const size_t src_len)
|
||||||
// TODO: Hmm, maybe it would be better to validate this in args.c,
|
// TODO: Hmm, maybe it would be better to validate this in args.c,
|
||||||
// since the suffix handling when decoding is weird now.
|
// since the suffix handling when decoding is weird now.
|
||||||
if (opt_format == FORMAT_RAW && opt_suffix == NULL) {
|
if (opt_format == FORMAT_RAW && opt_suffix == NULL) {
|
||||||
errmsg(V_ERROR, _("%s: With --format=raw, --suffix=.SUF is "
|
errmsg(V_ERROR, _("%s: With --format=raw, "
|
||||||
"required unless writing to stdout"),
|
"--suffix=.SUF is required unless "
|
||||||
src_name);
|
"writing to stdout"), src_name);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue