Fix assert edge case, improve documentation in zstd.h
diff --git a/lib/compress/zstd_compress.c b/lib/compress/zstd_compress.c
index e6257ba..069835b 100644
--- a/lib/compress/zstd_compress.c
+++ b/lib/compress/zstd_compress.c
@@ -4691,7 +4691,8 @@
ZSTD_storeSeq(seqStore, litLength, ip, iend, offCode, matchLength - MINMATCH);
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->posInSequence = endPosInSequence;
ZSTD_memcpy(cctx->blockState.nextCBlock->rep, updatedRepcodes.rep, sizeof(repcodes_t));
diff --git a/lib/zstd.h b/lib/zstd.h
index a0aa6d3..05aebc4 100644
--- a/lib/zstd.h
+++ b/lib/zstd.h
@@ -1340,13 +1340,15 @@
* Compress sequences given by inSeqs, generated from source buffer 'src', using a cctx.
* 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
* 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.
*
+ * Repcodes are, as of now, always re-calculated.
+ *
* @return : final compressed size.
*/
ZSTDLIB_API size_t ZSTD_compressSequences(ZSTD_CCtx* const cctx, void* dst, size_t dstSize,