From db2aa252523325dfba15ab8870cc3be29585dd10 Mon Sep 17 00:00:00 2001 From: "W. Felix Handte" Date: Thu, 13 Aug 2020 16:52:07 -0400 Subject: [PATCH] Decision for Whether to Attach Should be Based on CDict Config, not CCtx --- lib/compress/zstd_compress.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/compress/zstd_compress.c b/lib/compress/zstd_compress.c index c3d317d25..fc1b42134 100644 --- a/lib/compress/zstd_compress.c +++ b/lib/compress/zstd_compress.c @@ -1640,10 +1640,8 @@ static int ZSTD_shouldAttachDict(const ZSTD_CDict* cdict, U64 pledgedSrcSize) { size_t cutoff = attachDictSizeCutoffs[cdict->matchState.cParams.strategy]; - int const useDedicatedDictSearch = - params->enableDedicatedDictSearch && - ZSTD_dedicatedDictSearch_isSupported(params->compressionLevel, cdict->dictContentSize); - return ( useDedicatedDictSearch + int const dedicatedDictSearch = cdict->matchState.dedicatedDictSearch; + return ( dedicatedDictSearch || pledgedSrcSize <= cutoff || pledgedSrcSize == ZSTD_CONTENTSIZE_UNKNOWN || params->attachDictPref == ZSTD_dictForceAttach ) @@ -1709,6 +1707,8 @@ static size_t ZSTD_resetCCtx_byCopyingCDict(ZSTD_CCtx* cctx, { const ZSTD_compressionParameters *cdict_cParams = &cdict->matchState.cParams; + assert(!cdict->matchState.dedicatedDictSearch); + DEBUGLOG(4, "copying dictionary into context"); { unsigned const windowLog = params.cParams.windowLog; -- 2.47.2