diff options
| author | Ferenc Arn <tagcup@yahoo.com> | 2017-10-26 16:41:47 -0400 |
|---|---|---|
| committer | Ferenc Arn <tagcup@yahoo.com> | 2017-10-26 16:41:47 -0400 |
| commit | 01815e9b5f1ec97d0018ee843a07fa73f450f1bf (patch) | |
| tree | e810d42b26e885a6374a657f1b1092521dfc0a94 /thirdparty/zstd/compress/huf_compress.c | |
| parent | 2987e6ce4ffc69da5efc0903cc00ce12e72d2125 (diff) | |
| download | redot-engine-01815e9b5f1ec97d0018ee843a07fa73f450f1bf.tar.gz | |
Update zstd to 1.3.2.
Diffstat (limited to 'thirdparty/zstd/compress/huf_compress.c')
| -rw-r--r-- | thirdparty/zstd/compress/huf_compress.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/thirdparty/zstd/compress/huf_compress.c b/thirdparty/zstd/compress/huf_compress.c index 2a47c18205..5692d56e00 100644 --- a/thirdparty/zstd/compress/huf_compress.c +++ b/thirdparty/zstd/compress/huf_compress.c @@ -167,7 +167,7 @@ size_t HUF_writeCTable (void* dst, size_t maxDstSize, } -size_t HUF_readCTable (HUF_CElt* CTable, U32 maxSymbolValue, const void* src, size_t srcSize) +size_t HUF_readCTable (HUF_CElt* CTable, U32* maxSymbolValuePtr, const void* src, size_t srcSize) { BYTE huffWeight[HUF_SYMBOLVALUE_MAX + 1]; /* init not required, even though some static analyzer may complain */ U32 rankVal[HUF_TABLELOG_ABSOLUTEMAX + 1]; /* large enough for values from 0 to 16 */ @@ -179,7 +179,7 @@ size_t HUF_readCTable (HUF_CElt* CTable, U32 maxSymbolValue, const void* src, si /* check result */ if (tableLog > HUF_TABLELOG_MAX) return ERROR(tableLog_tooLarge); - if (nbSymbols > maxSymbolValue+1) return ERROR(maxSymbolValue_tooSmall); + if (nbSymbols > *maxSymbolValuePtr+1) return ERROR(maxSymbolValue_tooSmall); /* Prepare base value per rank */ { U32 n, nextRankStart = 0; @@ -208,9 +208,10 @@ size_t HUF_readCTable (HUF_CElt* CTable, U32 maxSymbolValue, const void* src, si min >>= 1; } } /* assign value within rank, symbol order */ - { U32 n; for (n=0; n<=maxSymbolValue; n++) CTable[n].val = valPerRank[CTable[n].nbBits]++; } + { U32 n; for (n=0; n<nbSymbols; n++) CTable[n].val = valPerRank[CTable[n].nbBits]++; } } + *maxSymbolValuePtr = nbSymbols - 1; return readSize; } |
