Fix handling of integrity check type in the xz command line tool.
This commit is contained in:
parent
96c46df7de
commit
1d924e584b
|
@ -294,10 +294,17 @@ parse_real(args_info *args, int argc, char **argv)
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
while (strcmp(types[i].str, optarg) != 0) {
|
while (strcmp(types[i].str, optarg) != 0) {
|
||||||
if (++i == ARRAY_SIZE(types))
|
if (++i == ARRAY_SIZE(types))
|
||||||
message_fatal(_("%s: Unknown integrity"
|
message_fatal(_("%s: Unsupported "
|
||||||
|
"integrity "
|
||||||
"check type"), optarg);
|
"check type"), optarg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Use a separate check in case we are using different
|
||||||
|
// liblzma than what was used to compile us.
|
||||||
|
if (!lzma_check_is_supported(types[i].check))
|
||||||
|
message_fatal(_("%s: Unsupported integrity "
|
||||||
|
"check type"), optarg);
|
||||||
|
|
||||||
coder_set_check(types[i].check);
|
coder_set_check(types[i].check);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,11 @@ static bool preset_default = true;
|
||||||
static bool preset_extreme = false;
|
static bool preset_extreme = false;
|
||||||
|
|
||||||
/// Integrity check type
|
/// Integrity check type
|
||||||
|
#ifdef HAVE_CHECK_CRC64
|
||||||
static lzma_check check = LZMA_CHECK_CRC64;
|
static lzma_check check = LZMA_CHECK_CRC64;
|
||||||
|
#else
|
||||||
|
static lzma_check check = LZMA_CHECK_CRC32;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
|
|
Loading…
Reference in New Issue