Fix assert edge case, improve documentation in zstd.h
This commit is contained in:
@@ -4691,7 +4691,8 @@ static size_t ZSTD_copySequencesToSeqStore(seqStore_t* seqStore, ZSTD_sequencePo
|
|||||||
ZSTD_storeSeq(seqStore, litLength, ip, iend, offCode, matchLength - MINMATCH);
|
ZSTD_storeSeq(seqStore, litLength, ip, iend, offCode, matchLength - MINMATCH);
|
||||||
ip += matchLength + litLength;
|
ip += matchLength + litLength;
|
||||||
}
|
}
|
||||||
assert(endPosInSequence <= inSeqs[idx].litLength + inSeqs[idx].matchLength);
|
DEBUGLOG(5, "Ending seq: idx: %zu (of: %u ml: %u ll: %u)", idx, inSeqs[idx].offset, inSeqs[idx].matchLength, inSeqs[idx].litLength);
|
||||||
|
assert(idx == inSeqsSize || endPosInSequence <= inSeqs[idx].litLength + inSeqs[idx].matchLength);
|
||||||
seqPos->idx = idx;
|
seqPos->idx = idx;
|
||||||
seqPos->posInSequence = endPosInSequence;
|
seqPos->posInSequence = endPosInSequence;
|
||||||
ZSTD_memcpy(cctx->blockState.nextCBlock->rep, updatedRepcodes.rep, sizeof(repcodes_t));
|
ZSTD_memcpy(cctx->blockState.nextCBlock->rep, updatedRepcodes.rep, sizeof(repcodes_t));
|
||||||
|
|||||||
+4
-2
@@ -1340,13 +1340,15 @@ ZSTDLIB_API size_t ZSTD_mergeBlockDelimiters(ZSTD_Sequence* sequences, size_t se
|
|||||||
* Compress sequences given by inSeqs, generated from source buffer 'src', using a cctx.
|
* Compress sequences given by inSeqs, generated from source buffer 'src', using a cctx.
|
||||||
* The entire source is compressed into a single frame.
|
* The entire source is compressed into a single frame.
|
||||||
*
|
*
|
||||||
* If invoked with ZSTD_sf_noBlockDelimiters, the array of ZSTD_Sequence is expected to contain
|
* If ZSTD_c_blockDelimiters == ZSTD_sf_noBlockDelimiters, the array of ZSTD_Sequence is expected to contain
|
||||||
* no block delimiters (defined in ZSTD_Sequence). Block boundaries are roughly determined based on
|
* no block delimiters (defined in ZSTD_Sequence). Block boundaries are roughly determined based on
|
||||||
* the block size derived from the cctx, and sequences may be split.
|
* the block size derived from the cctx, and sequences may be split.
|
||||||
*
|
*
|
||||||
* If invoked with ZSTD_sf_explicitBlockDelimiters, the array of ZSTD_Sequence is expected to contain
|
* If STD_c_blockDelimiters == ZSTD_sf_explicitBlockDelimiters, the array of ZSTD_Sequence is expected to contain
|
||||||
* block delimiters.
|
* block delimiters.
|
||||||
*
|
*
|
||||||
|
* Repcodes are, as of now, always re-calculated.
|
||||||
|
*
|
||||||
* @return : final compressed size.
|
* @return : final compressed size.
|
||||||
*/
|
*/
|
||||||
ZSTDLIB_API size_t ZSTD_compressSequences(ZSTD_CCtx* const cctx, void* dst, size_t dstSize,
|
ZSTDLIB_API size_t ZSTD_compressSequences(ZSTD_CCtx* const cctx, void* dst, size_t dstSize,
|
||||||
|
|||||||
Reference in New Issue
Block a user