From: W. Felix Handte Date: Mon, 27 Aug 2018 22:09:56 +0000 (-0700) Subject: Temporary Commit to Retain Requested Hash and Chain Logs During Dict Attach X-Git-Tag: v1.3.6^2~10^2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3107c77995db22d7d741cae02cdd03fb6a123fb;p=thirdparty%2Fzstd.git Temporary Commit to Retain Requested Hash and Chain Logs During Dict Attach --- diff --git a/lib/compress/zstd_compress.c b/lib/compress/zstd_compress.c index e133b37da..4d54772a0 100644 --- a/lib/compress/zstd_compress.c +++ b/lib/compress/zstd_compress.c @@ -1351,11 +1351,21 @@ static size_t ZSTD_resetCCtx_byAttachingCDict(ZSTD_CCtx* cctx, /* Copy only compression parameters related to tables. */ params.cParams = *cdict_cParams; params.cParams.windowLog = windowLog; + if (params.cParams.strategy <= ZSTD_fast) { + DEBUGLOG(4, "Overriding hashLog from %d to %d", params.cParams.hashLog, cctx->requestedParams.cParams.hashLog); + DEBUGLOG(4, "Overriding chainLog from %d to %d", params.cParams.chainLog, cctx->requestedParams.cParams.chainLog); + if (cctx->requestedParams.cParams.hashLog) + params.cParams.hashLog = cctx->requestedParams.cParams.hashLog; + if (cctx->requestedParams.cParams.chainLog) + params.cParams.chainLog = cctx->requestedParams.cParams.chainLog; + } ZSTD_resetCCtx_internal(cctx, params, pledgedSrcSize, ZSTDcrp_continue, zbuff); assert(cctx->appliedParams.cParams.strategy == cdict_cParams->strategy); - assert(cctx->appliedParams.cParams.hashLog == cdict_cParams->hashLog); - assert(cctx->appliedParams.cParams.chainLog == cdict_cParams->chainLog); + if (params.cParams.strategy > ZSTD_fast) { + assert(cctx->appliedParams.cParams.hashLog == cdict_cParams->hashLog); + assert(cctx->appliedParams.cParams.chainLog == cdict_cParams->chainLog); + } } {