const U32 repIndex = (U32)(current - offset_1);
const BYTE* const repBase = repIndex < dictLimit ? dictBase : base;
const BYTE* const repMatch = repBase + repIndex;
+ if ((repIndex <= dictLimit-4) || (repIndex >= dictLimit))
if (MEM_read32(ip) == MEM_read32(repMatch))
{
/* repcode detected */
return ZSTD_compressBlock_lazy_extDict_generic(ctx, dst, maxDstSize, src, srcSize, 0, 1);
}
+size_t ZSTD_compressBlock_lazy2_extDict(ZSTD_CCtx* ctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize)
+{
+ return ZSTD_compressBlock_lazy_extDict_generic(ctx, dst, maxDstSize, src, srcSize, 0, 2);
+}
+
typedef size_t (*ZSTD_blockCompressor) (ZSTD_CCtx* ctx, void* dst, size_t maxDstSize, const void* src, size_t srcSize);
case ZSTD_lazy:
return ZSTD_compressBlock_lazy_extDict;
case ZSTD_lazy2:
- return ZSTD_compressBlock_lazy2;
+ return ZSTD_compressBlock_lazy2_extDict;
case ZSTD_btlazy2:
return ZSTD_compressBlock_btlazy2;
}