improved efficiency for large messages with small dictionaries

This commit is contained in:
Yann Collet 2016-07-15 11:27:09 +02:00
parent ea2ecdc315
commit 227cc39e15
3 changed files with 3 additions and 3 deletions

2
NEWS
View File

@ -1,6 +1,6 @@
v0.7.4
Added : new examples
Fixed : segfault when using small dictionaries
Fixed : segfault when using small dictionaries, reported by Felix Handte
Modified : default compression level for CLI is 3

View File

@ -2695,7 +2695,7 @@ static size_t ZSTD_compressBegin_internal(ZSTD_CCtx* zc,
const void* dict, size_t dictSize,
ZSTD_parameters params, U64 pledgedSrcSize)
{
size_t const resetError = ZSTD_resetCCtx_advanced(zc, params, pledgedSrcSize, 1, 0);
size_t const resetError = ZSTD_resetCCtx_advanced(zc, params, pledgedSrcSize, 1, (pledgedSrcSize==0) );
if (ZSTD_isError(resetError)) return resetError;
return ZSTD_compress_insertDictionary(zc, dict, dictSize);

View File

@ -209,7 +209,7 @@ static int basicUnitTests(U32 seed, double compressibility)
cSize += r);
CHECKPLUS(r, ZSTD_compressEnd(ctxDuplicated, (char*)compressedBuffer+cSize, ZSTD_compressBound(CNBuffSize)-cSize),
cSize += r);
if (cSize != cSizeOrig) goto _output_error; /* should be identical ==> have same size */
if (cSize != cSizeOrig) goto _output_error; /* should be identical ==> same size */
}
DISPLAYLEVEL(4, "OK (%u bytes : %.2f%%)\n", (U32)cSize, (double)cSize/CNBuffSize*100);