Avoid internal error with --format=xz --lzma1.
This commit is contained in:
parent
99f9e879a6
commit
8f8ec942d6
|
@ -151,12 +151,20 @@ coder_set_compression_settings(void)
|
||||||
// Terminate the filter options array.
|
// Terminate the filter options array.
|
||||||
filters[filters_count].id = LZMA_VLI_UNKNOWN;
|
filters[filters_count].id = LZMA_VLI_UNKNOWN;
|
||||||
|
|
||||||
// If we are using the LZMA_Alone format, allow exactly one filter
|
// If we are using the .lzma format, allow exactly one filter
|
||||||
// which has to be LZMA.
|
// which has to be LZMA1.
|
||||||
if (opt_format == FORMAT_LZMA && (filters_count != 1
|
if (opt_format == FORMAT_LZMA && (filters_count != 1
|
||||||
|| filters[0].id != LZMA_FILTER_LZMA1))
|
|| filters[0].id != LZMA_FILTER_LZMA1))
|
||||||
message_fatal(_("With --format=lzma only the LZMA1 filter "
|
message_fatal(_("The .lzma format supports only "
|
||||||
"is supported"));
|
"the LZMA1 filter"));
|
||||||
|
|
||||||
|
// If we are using the .xz format, make sure that there is no LZMA1
|
||||||
|
// filter to prevent LZMA_PROG_ERROR.
|
||||||
|
if (opt_format == FORMAT_XZ)
|
||||||
|
for (size_t i = 0; i < filters_count; ++i)
|
||||||
|
if (filters[i].id == LZMA_FILTER_LZMA1)
|
||||||
|
message_fatal(_("LZMA1 cannot be used "
|
||||||
|
"with the .xz format"));
|
||||||
|
|
||||||
// Print the selected filter chain.
|
// Print the selected filter chain.
|
||||||
message_filters(V_DEBUG, filters);
|
message_filters(V_DEBUG, filters);
|
||||||
|
|
Loading…
Reference in New Issue