short* offcodeNCount, unsigned* offcodeMaxValue,
const void* const dict, size_t dictSize)
{
- const BYTE* dictPtr = (const BYTE*)dict + 8; /* skip magic num and dict ID */
+ const BYTE* dictPtr = (const BYTE*)dict; /* skip magic num and dict ID */
const BYTE* const dictEnd = dictPtr + dictSize;
+ dictPtr += 8;
{ unsigned maxSymbolValue = 255;
size_t const hufHeaderSize = HUF_readCTable((HUF_CElt*)bs->entropy.huf.CTable, &maxSymbolValue, dictPtr, dictEnd-dictPtr);
{ size_t headerSize;
unsigned offcodeMaxValue = MaxOff;
ZSTD_compressedBlockState_t* bs = (ZSTD_compressedBlockState_t*)malloc(sizeof(ZSTD_compressedBlockState_t));
+ if (!bs) return ERROR(memory_allocation);
U32* wksp = (U32*)malloc(HUF_WORKSPACE_SIZE);
+ if (!wksp) return ERROR(memory_allocation);
short* offcodeNCount = (short*)malloc((MaxOff+1)*sizeof(short));
- if (!bs || !wksp || !offcodeNCount) {
- return ERROR(memory_allocation);
- }
+ if (!offcodeNCount) return ERROR(memory_allocation);
ZSTD_reset_compressedBlockState(bs);
headerSize = ZSTD_loadCEntropy(bs, wksp, offcodeNCount, &offcodeMaxValue, dictBuffer, dictSize);
+
free(bs);
free(wksp);
free(offcodeNCount);