]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Make bulk_insert implementation of insert_match behave more like
authorHans Kristian Rosbach <hk-git@circlestorm.org>
Fri, 26 Jun 2015 13:22:36 +0000 (15:22 +0200)
committerHans Kristian Rosbach <hk-git@circlestorm.org>
Fri, 26 Jun 2015 13:22:36 +0000 (15:22 +0200)
the original code, this also lets us optimize the match_length=1 case.

deflate_medium.c

index 995a2cb97d35b8e70b5acc45440a84ecdbd924d5..0c724b9e8d08446d0731f0e03a5ebb31554075f5 100644 (file)
@@ -69,9 +69,12 @@ static void insert_match(deflate_state *s, struct match match) {
                     }
             }
 #else
-            match.strstart++;
-            match.match_length--;
-            if (match.match_length > 0) {
+            if (likely(match.match_length == 1)) {
+                match.strstart++;
+                match.match_length = 0;
+            }else{
+                match.strstart++;
+                match.match_length--;
                 if (match.strstart >= match.orgstart) {
                     bulk_insert_str(s, match.strstart, match.match_length);
                 }