src, srcSize);
assert(zc->externSeqStore.pos <= zc->externSeqStore.size);
} else if (zc->appliedParams.ldmParams.enableLdm) {
- rawSeqStore_t ldmSeqStore = {NULL, 0, 0, 0, 0};
+ rawSeqStore_t ldmSeqStore = kNullRawSeqStore;
ldmSeqStore.seq = zc->ldmSequences;
ldmSeqStore.capacity = zc->maxNbLdmSequences;
size_t capacity; /* The capacity starting from `seq` pointer */
} rawSeqStore_t;
+UNUSED_ATTR static const rawSeqStore_t kNullRawSeqStore = {NULL, 0, 0, 0, 0};
+
typedef struct {
int price;
U32 off;
ZSTD_optimal_t lastSequence;
ZSTD_optLdm_t optLdm;
- if (ms->ldmSeqStore) {
- optLdm.seqStore = *ms->ldmSeqStore;
- optLdm.endPosInBlock = optLdm.startPosInBlock = optLdm.offset = 0;
- } else {
- optLdm.seqStore.size = optLdm.seqStore.pos = 0;
- }
-
- /* Get first match from ldm seq store if long mode is enabled */
+ optLdm.seqStore = ms->ldmSeqStore ? *ms->ldmSeqStore : kNullRawSeqStore;
+ optLdm.endPosInBlock = optLdm.startPosInBlock = optLdm.offset = 0;
ZSTD_opt_getNextMatchAndUpdateSeqStore(&optLdm, (U32)(ip-istart), (U32)(iend-ip));
/* init */
/* ===== Seq Pool Wrapper ====== */
-static rawSeqStore_t kNullRawSeqStore = {NULL, 0, 0, 0, 0};
-
typedef ZSTDMT_bufferPool ZSTDMT_seqPool;
static size_t ZSTDMT_sizeof_seqPool(ZSTDMT_seqPool* seqPool)