fix #935
authorYann Collet <cyan@fb.com>
Sat, 7 Nov 2020 18:06:52 +0000 (10:06 -0800)
committerYann Collet <cyan@fb.com>
Sat, 7 Nov 2020 18:06:52 +0000 (10:06 -0800)
minor: identical declaration and prototypes of `LZ4HC_compress_optimal()`

also :
very minor optimization of `LZ4_memcpy_using_offset()`

lib/lz4.c
lib/lz4hc.c

index 9d547e52ac9331cbd615b817cf59b84be87df119..e51fbd7167484c306ddb7b4eb17cc4409e0bba70 100644 (file)
--- a/lib/lz4.c
+++ b/lib/lz4.c
@@ -424,7 +424,9 @@ static const int      dec64table[8] = {0, 0, 0, -1, -4,  1, 2, 3};
 LZ4_FORCE_INLINE void
 LZ4_memcpy_using_offset_base(BYTE* dstPtr, const BYTE* srcPtr, BYTE* dstEnd, const size_t offset)
 {
+    assert(srcPtr + offset == dstPtr);
     if (offset < 8) {
+        LZ4_write32(dstPtr, 0);   /* silence an msan warning when offset==0 */
         dstPtr[0] = srcPtr[0];
         dstPtr[1] = srcPtr[1];
         dstPtr[2] = srcPtr[2];
@@ -464,7 +466,6 @@ LZ4_memcpy_using_offset(BYTE* dstPtr, const BYTE* srcPtr, BYTE* dstEnd, const si
     BYTE v[8];
 
     assert(dstEnd >= dstPtr + MINMATCH);
-    LZ4_write32(dstPtr, 0);   /* silence an msan warning when offset==0 */
 
     switch(offset) {
     case 1:
@@ -473,7 +474,7 @@ LZ4_memcpy_using_offset(BYTE* dstPtr, const BYTE* srcPtr, BYTE* dstEnd, const si
     case 2:
         LZ4_memcpy(v, srcPtr, 2);
         LZ4_memcpy(&v[2], srcPtr, 2);
-        LZ4_memcpy(&v[4], &v[0], 4);
+        LZ4_memcpy(&v[4], v, 4);
         break;
     case 4:
         LZ4_memcpy(v, srcPtr, 4);
index 15bedec32c3faf44545da57dfeb9257b8e7d4956..85121d41100db8373f2d2bb38fc9fdafa12a3787 100644 (file)
@@ -789,7 +789,7 @@ static int LZ4HC_compress_optimal( LZ4HC_CCtx_internal* ctx,
     int const nbSearches, size_t sufficient_len,
     const limitedOutput_directive limit, int const fullUpdate,
     const dictCtx_directive dict,
-    HCfavor_e favorDecSpeed);
+    const HCfavor_e favorDecSpeed);
 
 
 LZ4_FORCE_INLINE int LZ4HC_compress_generic_internal (