mirror of https://git.tukaani.org/xz.git
Select the default integrity check type at runtime.
Previously it was set statically to CRC64 or CRC32 depending on options passed to the configure script.
This commit is contained in:
parent
96a4f840e3
commit
34eb5e201d
|
@ -56,17 +56,17 @@ static bool preset_default = true;
|
|||
static bool preset_extreme = false;
|
||||
|
||||
/// Integrity check type
|
||||
#ifdef HAVE_CHECK_CRC64
|
||||
static lzma_check check = LZMA_CHECK_CRC64;
|
||||
#else
|
||||
static lzma_check check = LZMA_CHECK_CRC32;
|
||||
#endif
|
||||
static lzma_check check;
|
||||
|
||||
/// This becomes false if the --check=CHECK option is used.
|
||||
static bool check_default = true;
|
||||
|
||||
|
||||
extern void
|
||||
coder_set_check(lzma_check new_check)
|
||||
{
|
||||
check = new_check;
|
||||
check_default = false;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -265,6 +265,15 @@ coder_set_compression_settings(void)
|
|||
opt_threads = thread_limit;
|
||||
*/
|
||||
|
||||
if (check_default) {
|
||||
// The default check type is CRC64, but fallback to CRC32
|
||||
// if CRC64 isn't supported by the copy of liblzma we are
|
||||
// using. CRC32 is always supported.
|
||||
check = LZMA_CHECK_CRC64;
|
||||
if (!lzma_check_is_supported(check))
|
||||
check = LZMA_CHECK_CRC32;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue