From bd992f12e4be48b4eed48b3898153f2c80bc014b Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Thu, 2 Nov 2017 15:05:45 -0700 Subject: [PATCH] searching match leading strictly farther does not work sometimes, it's better to re-use same match but start it later, in order to get shorter matchlength code --- lib/lz4opt.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/lz4opt.h b/lib/lz4opt.h index 25ceaad..1e696f9 100644 --- a/lib/lz4opt.h +++ b/lib/lz4opt.h @@ -318,7 +318,7 @@ static int LZ4HC_compress_optimal ( DEBUGLOG(7, "search at rPos:%u", cur); //nb_matches = LZ4HC_BinTree_GetAllMatches(ctx, curPtr, matchlimit, MINMATCH-1, matches, fullUpdate); nb_matches = LZ4HC_HashChain_GetAllMatches(ctx, curPtr, matchlimit, MINMATCH-1, matches, fullUpdate); - //nb_matches = LZ4HC_HashChain_GetAllMatches(ctx, curPtr, matchlimit, last_match_pos - cur + 1, matches, fullUpdate); /* only works if last_match_pos is really the last match pos */ + //nb_matches = LZ4HC_HashChain_GetAllMatches(ctx, curPtr, matchlimit, last_match_pos - cur - 1, matches, fullUpdate); /* only test matches of a minimum length */ if (!nb_matches) continue; if ( ((size_t)matches[nb_matches-1].len > sufficient_len) -- 2.7.4