minor refactoring
authorYann Collet <yann.collet.73@gmail.com>
Wed, 29 Jun 2016 13:53:21 +0000 (15:53 +0200)
committerYann Collet <yann.collet.73@gmail.com>
Wed, 29 Jun 2016 14:01:24 +0000 (16:01 +0200)
lib/lz4.c
programs/.gitignore

index ba8e462..646a13c 100644 (file)
--- a/lib/lz4.c
+++ b/lib/lz4.c
@@ -1150,8 +1150,7 @@ FORCE_INLINE int LZ4_decompress_generic(
     if ((endOnInput) && (unlikely(outputSize==0))) return ((inputSize==1) && (*ip==0)) ? 0 : -1;  /* Empty output buffer */
     if ((!endOnInput) && (unlikely(outputSize==0))) return (*ip==0?1:-1);
 
-
-    /* Main Loop */
+    /* Main Loop : decode sequences */
     while (1) {
         unsigned token;
         size_t length;
@@ -1214,21 +1213,21 @@ FORCE_INLINE int LZ4_decompress_generic(
 
             if (length <= (size_t)(lowPrefix-match)) {
                 /* match can be copied as a single segment from external dictionary */
-                match = dictEnd - (lowPrefix-match);
-                memmove(op, match, length); op += length;
+                memmove(op, dictEnd - (lowPrefix-match), length);
+                op += length;
             } else {
                 /* match encompass external dictionary and current block */
-                size_t copySize = (size_t)(lowPrefix-match);
+                size_t const copySize = (size_t)(lowPrefix-match);
+                size_t const restSize = length - copySize;
                 memcpy(op, dictEnd - copySize, copySize);
                 op += copySize;
-                copySize = length - copySize;
-                if (copySize > (size_t)(op-lowPrefix)) {  /* overlap copy */
-                    BYTE* const endOfMatch = op + copySize;
+                if (restSize > (size_t)(op-lowPrefix)) {  /* overlap copy */
+                    BYTE* const endOfMatch = op + restSize;
                     const BYTE* copyFrom = lowPrefix;
                     while (op < endOfMatch) *op++ = *copyFrom++;
                 } else {
-                    memcpy(op, lowPrefix, copySize);
-                    op += copySize;
+                    memcpy(op, lowPrefix, restSize);
+                    op += restSize;
                 }
             }
             continue;
index bba3110..b9798c6 100644 (file)
@@ -1,4 +1,9 @@
 # local binary (Makefile)
 lz4
 lz4c32
+datagen
+fuzzer
 *.exe
+
+# tests files
+tmp*