mirror of https://git.tukaani.org/xz.git
xz: Move suffix check after stdout mode is detected.
This fixes a bug introduced in cc5aa9ab13
when the suffix check was initially moved. This caused a situation that
previously worked:
echo foo | xz -Fraw --lzma1 | wc -c
to fail because the old code knew that this would write to standard out
so a suffix was not needed.
This commit is contained in:
parent
d4f4a4d040
commit
837ea40b1c
|
@ -820,14 +820,6 @@ args_parse(args_info *args, int argc, char **argv)
|
||||||
&& opt_mode != MODE_LIST))
|
&& opt_mode != MODE_LIST))
|
||||||
coder_set_compression_settings();
|
coder_set_compression_settings();
|
||||||
|
|
||||||
// If raw format is used and a custom suffix is not provided,
|
|
||||||
// then only stdout mode can be used when compressing or decompressing.
|
|
||||||
if (opt_format == FORMAT_RAW && !suffix_is_set() && !opt_stdout
|
|
||||||
&& (opt_mode == MODE_COMPRESS
|
|
||||||
|| opt_mode == MODE_DECOMPRESS))
|
|
||||||
message_fatal(_("With --format=raw, --suffix=.SUF is "
|
|
||||||
"required unless writing to stdout"));
|
|
||||||
|
|
||||||
// If no filenames are given, use stdin.
|
// If no filenames are given, use stdin.
|
||||||
if (argv[optind] == NULL && args->files_name == NULL) {
|
if (argv[optind] == NULL && args->files_name == NULL) {
|
||||||
// We don't modify or free() the "-" constant. The caller
|
// We don't modify or free() the "-" constant. The caller
|
||||||
|
@ -863,6 +855,14 @@ args_parse(args_info *args, int argc, char **argv)
|
||||||
opt_stdout = i == args->arg_count;
|
opt_stdout = i == args->arg_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If raw format is used and a custom suffix is not provided,
|
||||||
|
// then only stdout mode can be used when compressing or decompressing.
|
||||||
|
if (opt_format == FORMAT_RAW && !suffix_is_set() && !opt_stdout
|
||||||
|
&& (opt_mode == MODE_COMPRESS
|
||||||
|
|| opt_mode == MODE_DECOMPRESS))
|
||||||
|
message_fatal(_("With --format=raw, --suffix=.SUF is "
|
||||||
|
"required unless writing to stdout"));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue