From 4623d11571b3c17471b95828e1f559813402fdad Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Mon, 20 Jun 2016 19:15:37 +0200 Subject: [PATCH] new correction, less extreme replacement value --- 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 4bb982e6..964b690e 100644 --- a/lib/compress/zstd_compress.c +++ b/lib/compress/zstd_compress.c @@ -1186,8 +1186,8 @@ void ZSTD_compressBlock_fast_generic(ZSTD_CCtx* cctx, } } } /* save reps for next block */ - cctx->savedRep[0] = offset_1 ? (U32)offset_1 : (U32)(1 GB); - cctx->savedRep[1] = offset_2 ? (U32)offset_2 : (U32)(1 GB); + cctx->savedRep[0] = offset_1 ? (U32)offset_1 : (U32)(iend-base)+2; + cctx->savedRep[1] = offset_2 ? (U32)offset_2 : (U32)(iend-base)+2; /* Last Literals */ { size_t const lastLLSize = iend - anchor; @@ -1844,7 +1844,7 @@ _storeSequence: /* Save reps for next block */ { int i; for (i=0; ibase) + 2; /* in case some zero are left */ ctx->savedRep[i] = rep[i]; } } @@ -2238,7 +2238,7 @@ static size_t ZSTD_compressContinue_internal (ZSTD_CCtx* zc, /* preemptive overflow correction */ if (zc->lowLimit > (1<<30)) { - U32 const btplus = (zc->params.cParams.strategy == ZSTD_btlazy2) || (zc->params.cParams.strategy == ZSTD_btopt); + U32 const btplus = (zc->params.cParams.strategy == ZSTD_btlazy2) | (zc->params.cParams.strategy == ZSTD_btopt); U32 const chainMask = (1 << (zc->params.cParams.chainLog - btplus)) - 1; U32 const newLowLimit = zc->lowLimit & chainMask; /* preserve position % chainSize */ U32 const correction = zc->lowLimit - newLowLimit;