diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-01-31 16:36:17 +0100 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-01-31 16:36:17 +0100 |
| commit | 26eea71c87bb5b39fb77eb8b1a6c69ea82e8e879 (patch) | |
| tree | eb65a96028511a263ad86721131fcf6f10c31eaa | |
| parent | 05251986c7c00b07a5a7ff0f70258e53a3f3de9e (diff) | |
| download | busybox-w32-26eea71c87bb5b39fb77eb8b1a6c69ea82e8e879.tar.gz busybox-w32-26eea71c87bb5b39fb77eb8b1a6c69ea82e8e879.tar.bz2 busybox-w32-26eea71c87bb5b39fb77eb8b1a6c69ea82e8e879.zip | |
gzip: code shrink
function old new delta
flush_block 668 665 -3
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| -rw-r--r-- | archival/gzip.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/archival/gzip.c b/archival/gzip.c index 9dc31e30b..c94fec48d 100644 --- a/archival/gzip.c +++ b/archival/gzip.c | |||
| @@ -617,8 +617,8 @@ static void copy_block(char *buf, unsigned len, int header) | |||
| 617 | bi_windup(); /* align on byte boundary */ | 617 | bi_windup(); /* align on byte boundary */ |
| 618 | 618 | ||
| 619 | if (header) { | 619 | if (header) { |
| 620 | put_16bit(len); | 620 | unsigned v = ((uint16_t)len) | ((~len) << 16); |
| 621 | put_16bit(~len); | 621 | put_32bit(v); |
| 622 | #ifdef DEBUG | 622 | #ifdef DEBUG |
| 623 | G1.bits_sent += 2 * 16; | 623 | G1.bits_sent += 2 * 16; |
| 624 | #endif | 624 | #endif |
| @@ -1747,8 +1747,8 @@ static ulg flush_block(char *buf, ulg stored_len, int eof) | |||
| 1747 | if (buf == NULL) | 1747 | if (buf == NULL) |
| 1748 | bb_error_msg("block vanished"); | 1748 | bb_error_msg("block vanished"); |
| 1749 | 1749 | ||
| 1750 | copy_block(buf, (unsigned) stored_len, 0); /* without header */ | ||
| 1751 | G2.compressed_len = stored_len << 3; | 1750 | G2.compressed_len = stored_len << 3; |
| 1751 | copy_block(buf, (unsigned) stored_len, 0); /* without header */ | ||
| 1752 | } else if (stored_len + 4 <= opt_lenb && buf != NULL) { | 1752 | } else if (stored_len + 4 <= opt_lenb && buf != NULL) { |
| 1753 | /* 4: two words for the lengths */ | 1753 | /* 4: two words for the lengths */ |
| 1754 | /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. | 1754 | /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. |
| @@ -1758,9 +1758,8 @@ static ulg flush_block(char *buf, ulg stored_len, int eof) | |||
| 1758 | * transform a block into a stored block. | 1758 | * transform a block into a stored block. |
| 1759 | */ | 1759 | */ |
| 1760 | send_bits((STORED_BLOCK << 1) + eof, 3); /* send block type */ | 1760 | send_bits((STORED_BLOCK << 1) + eof, 3); /* send block type */ |
| 1761 | G2.compressed_len = (G2.compressed_len + 3 + 7) & ~7L; | 1761 | G2.compressed_len = ((G2.compressed_len + 3 + 7) & ~7L) |
| 1762 | G2.compressed_len += (stored_len + 4) << 3; | 1762 | + ((stored_len + 4) << 3); |
| 1763 | |||
| 1764 | copy_block(buf, (unsigned) stored_len, 1); /* with header */ | 1763 | copy_block(buf, (unsigned) stored_len, 1); /* with header */ |
| 1765 | } else if (static_lenb == opt_lenb) { | 1764 | } else if (static_lenb == opt_lenb) { |
| 1766 | send_bits((STATIC_TREES << 1) + eof, 3); | 1765 | send_bits((STATIC_TREES << 1) + eof, 3); |
