gunzip: code shrink by using int-, not short-sized struct member
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 20 Oct 2019 17:07:06 +0000 (19:07 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 20 Oct 2019 17:07:06 +0000 (19:07 +0200)
function                                             old     new   delta
inflate_block                                       1254    1253      -1
inflate_codes                                        629     621      -8
huft_build                                          1054    1008     -46
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-55)             Total: -55 bytes

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

index 530661e152c097b94699fd5b514971e37b825828..0f8173d0ad982277217526998f6f812e36bc4bc9 100644 (file)
@@ -39,7 +39,8 @@ typedef struct huft_t {
        unsigned char e;        /* number of extra bits or operation */
        unsigned char b;        /* number of bits in this code or subcode */
        union {
-               unsigned short n;       /* literal, length base, or distance base */
+               unsigned n;     /* literal, length base, or distance base */
+               /* ^^^^^ was "unsigned short", but that results in larger code */
                struct huft_t *t;       /* pointer to next level of table */
        } v;
 } huft_t;