]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
restore decompression speed on fizzle
authorYann Collet <yann.collet.73@gmail.com>
Sat, 30 Jul 2016 13:32:47 +0000 (15:32 +0200)
committerYann Collet <yann.collet.73@gmail.com>
Sat, 30 Jul 2016 13:32:47 +0000 (15:32 +0200)
lib/decompress/zstd_decompress.c

index 76c1ca196879431d7e24bbd77697853bac65831a..e1ac2004923f96eb6502c1b13a770578e03ea1f5 100644 (file)
@@ -583,7 +583,7 @@ typedef struct {
     FSE_DState_t stateLL;
     FSE_DState_t stateOffb;
     FSE_DState_t stateML;
-    U32 prevOffset[ZSTD_REP_NUM];
+    size_t prevOffset[ZSTD_REP_NUM];
 } seqState_t;
 
 
@@ -629,18 +629,17 @@ static seq_t ZSTD_decodeSequence(seqState_t* seqState)
         if (ofCode <= 1) {
             if ((llCode == 0) & (offset <= 1)) offset = 1-offset;
             if (offset) {
-                U32 const temp = seqState->prevOffset[offset];
+                size_t const temp = seqState->prevOffset[offset];
                 if (offset != 1) seqState->prevOffset[2] = seqState->prevOffset[1];
                 seqState->prevOffset[1] = seqState->prevOffset[0];
-                seqState->prevOffset[0] = temp;
-                offset = temp;
+                seqState->prevOffset[0] = offset = temp;
             } else {
                 offset = seqState->prevOffset[0];
             }
         } else {
             seqState->prevOffset[2] = seqState->prevOffset[1];
             seqState->prevOffset[1] = seqState->prevOffset[0];
-            seqState->prevOffset[0] = (U32)offset;
+            seqState->prevOffset[0] = offset;
         }
         seq.offset = offset;
     }