private static void ZSTD_checkDictValidity(ZSTD_window_t *window, void *blockEnd, uint maxDist, uint *loadedDictEndPtr, ZSTD_matchState_t **dictMatchStatePtr) { assert(loadedDictEndPtr != null); assert(dictMatchStatePtr != null); { uint blockEndIdx = (uint)((byte *)(blockEnd) - window->@base); uint loadedDictEnd = *loadedDictEndPtr; assert(blockEndIdx >= loadedDictEnd); if (blockEndIdx > loadedDictEnd + maxDist) { *loadedDictEndPtr = 0; *dictMatchStatePtr = null; } else { if (*loadedDictEndPtr != 0) { ; } } } }
private static void ZSTD_window_enforceMaxDist(ZSTD_window_t *window, void *blockEnd, uint maxDist, uint *loadedDictEndPtr, ZSTD_matchState_t **dictMatchStatePtr) { uint blockEndIdx = (uint)((byte *)(blockEnd) - window->@base); uint loadedDictEnd = (loadedDictEndPtr != null) ? *loadedDictEndPtr : 0; if (blockEndIdx > maxDist + loadedDictEnd) { uint newLowLimit = blockEndIdx - maxDist; if (window->lowLimit < newLowLimit) { window->lowLimit = newLowLimit; } if (window->dictLimit < window->lowLimit) { window->dictLimit = window->lowLimit; } if (loadedDictEndPtr != null) { *loadedDictEndPtr = 0; } if (dictMatchStatePtr != null) { *dictMatchStatePtr = null; } } }