1
0
镜像自地址 https://git.tukaani.org/xz.git 已同步 2026-10-31 03:14:56 +00:00

Silence a bogus Valgrind warning.

When using -O2 with GCC, it liked to swap two comparisons
in one "if" statement. It's otherwise fine except that
the latter part, which is seemingly never executed, got
executed (nothing wrong with that) and then triggered
warning in Valgrind about conditional jump depending on
uninitialized variable. A few people find this annoying
so do things a bit differently to avoid the warning.
这个提交包含在:
Lasse Collin 2010-06-02 23:09:22 +03:00
父节点 29a7b250e6
当前提交 b5fbab6123

查看文件

@ -341,7 +341,7 @@ lz_encoder_prepare(lzma_mf *mf, lzma_allocator *allocator,
// Deallocate the old hash array if it exists and has different size // Deallocate the old hash array if it exists and has different size
// than what is needed now. // than what is needed now.
if (mf->hash != NULL && old_count != new_count) { if (old_count != new_count) {
lzma_free(mf->hash, allocator); lzma_free(mf->hash, allocator);
mf->hash = NULL; mf->hash = NULL;
} }
@ -444,6 +444,8 @@ lzma_lz_encoder_memusage(const lzma_lz_options *lz_options)
lzma_mf mf = { lzma_mf mf = {
.buffer = NULL, .buffer = NULL,
.hash = NULL, .hash = NULL,
.hash_size_sum = 0,
.sons_count = 0,
}; };
// Setup the size information into mf. // Setup the size information into mf.
@ -519,6 +521,8 @@ lzma_lz_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
next->coder->mf.buffer = NULL; next->coder->mf.buffer = NULL;
next->coder->mf.hash = NULL; next->coder->mf.hash = NULL;
next->coder->mf.hash_size_sum = 0;
next->coder->mf.sons_count = 0;
next->coder->next = LZMA_NEXT_CODER_INIT; next->coder->next = LZMA_NEXT_CODER_INIT;
} }