gunzip: code shrink by using int-, not short-sized struct member

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>
This commit is contained in:
Denys Vlasenko 2019-10-20 19:07:06 +02:00
parent 6572ef6e1e
commit fb1103595f

View File

@ -39,7 +39,8 @@ typedef struct huft_t {
unsigned char e; /* number of extra bits or operation */ unsigned char e; /* number of extra bits or operation */
unsigned char b; /* number of bits in this code or subcode */ unsigned char b; /* number of bits in this code or subcode */
union { 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 */ struct huft_t *t; /* pointer to next level of table */
} v; } v;
} huft_t; } huft_t;