]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Define kNullRawSeqStore for every file
authorsenhuang42 <senhuang96@fb.com>
Wed, 7 Oct 2020 20:59:25 +0000 (16:59 -0400)
committersenhuang42 <senhuang96@fb.com>
Wed, 7 Oct 2020 23:02:41 +0000 (19:02 -0400)
lib/compress/zstd_compress.c
lib/compress/zstd_compress_internal.h
lib/compress/zstd_opt.c
lib/compress/zstdmt_compress.c

index 3109f1753a9b4be06f7022e69d78ad546d84a144..25b63965c423530a46d25c0c7112991c8d6aa20b 100644 (file)
@@ -2354,7 +2354,7 @@ static size_t ZSTD_buildSeqStore(ZSTD_CCtx* zc, const void* src, size_t srcSize)
                                        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;
index f59370a29cab460a68c7357b237eb1cddbf19e22..9b65b3c4aeba92dc58036503c90642843e24625f 100644 (file)
@@ -101,6 +101,8 @@ typedef struct {
   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;
index 29242523c2d1dc48838ec43b5cac3a3334d6bd0d..8ba7aba3846e861265cfa23932dca1cf7aa527b6 100644 (file)
@@ -964,14 +964,8 @@ ZSTD_compressBlock_opt_generic(ZSTD_matchState_t* ms,
     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 */
index 06462fe5a65fd44e6164c9092534d255b04ee696..e19184677bd087cff18da6b4024b089109e9b20b 100644 (file)
@@ -266,8 +266,6 @@ static void ZSTDMT_releaseBuffer(ZSTDMT_bufferPool* bufPool, buffer_t buf)
 
 /* =====   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)