Avoid Possibly Redundant Table Clears When Loading HC Dict
authorW. Felix Handte <w@felixhandte.com>
Fri, 27 Apr 2018 18:10:27 +0000 (14:10 -0400)
committerW. Felix Handte <w@felixhandte.com>
Fri, 27 Apr 2018 18:10:27 +0000 (14:10 -0400)
lib/lz4frame.c
lib/lz4hc.c

index c4e0ae0..8cf0c2f 100644 (file)
@@ -472,7 +472,7 @@ LZ4F_CDict* LZ4F_createCDict(const void* dictBuffer, size_t dictSize)
     }
     memcpy(cdict->dictContent, dictStart, dictSize);
     LZ4_loadDict (cdict->fastCtx, (const char*)cdict->dictContent, (int)dictSize);
-    LZ4_resetStreamHC(cdict->HCCtx, LZ4HC_CLEVEL_DEFAULT);
+    LZ4_setCompressionLevel(cdict->HCCtx, LZ4HC_CLEVEL_DEFAULT);
     LZ4_loadDictHC(cdict->HCCtx, (const char*)cdict->dictContent, (int)dictSize);
     return cdict;
 }
index 4126ef8..90f52f0 100644 (file)
@@ -877,8 +877,8 @@ int LZ4_loadDictHC (LZ4_streamHC_t* LZ4_streamHCPtr, const char* dictionary, int
         dictionary += dictSize - 64 KB;
         dictSize = 64 KB;
     }
+    LZ4_resetStreamHC(LZ4_streamHCPtr, ctxPtr->compressionLevel);
     LZ4HC_init (ctxPtr, (const BYTE*)dictionary);
-    LZ4HC_clearTables (ctxPtr);
     ctxPtr->end = (const BYTE*)dictionary + dictSize;
     if (dictSize >= 4) LZ4HC_Insert (ctxPtr, ctxPtr->end-3);
     return dictSize;