gzip: code shrink
authorDenys Vlasenko <vda.linux@googlemail.com>
Wed, 31 Jan 2018 14:42:45 +0000 (15:42 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Wed, 31 Jan 2018 14:42:45 +0000 (15:42 +0100)
function                                             old     new   delta
pack_gzip                                            861     838     -23

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
archival/gzip.c

index fa7a79b041bfce87ccf79ad0e926cde86d679900..d52167f8458234c9c314493408499c588f9f7282 100644 (file)
@@ -2049,20 +2049,24 @@ static void ct_init(void)
        n = 0;
        while (n <= 143) {
                G2.static_ltree[n++].Len = 8;
-               G2.bl_count[8]++;
+               //G2.bl_count[8]++;
        }
+       //G2.bl_count[8] = 143 + 1;
        while (n <= 255) {
                G2.static_ltree[n++].Len = 9;
-               G2.bl_count[9]++;
+               //G2.bl_count[9]++;
        }
+       G2.bl_count[9] = 255 - 143;
        while (n <= 279) {
                G2.static_ltree[n++].Len = 7;
-               G2.bl_count[7]++;
+               //G2.bl_count[7]++;
        }
+       G2.bl_count[7] = 279 - 255;
        while (n <= 287) {
                G2.static_ltree[n++].Len = 8;
-               G2.bl_count[8]++;
+               //G2.bl_count[8]++;
        }
+       G2.bl_count[8] = 287 - 279 + (143 + 1);
        /* Codes 286 and 287 do not exist, but we must include them in the
         * tree construction to get a canonical Huffman tree (longest code
         * all ones)