[git commit] gzip: code shrink

Denys Vlasenko vda.linux at googlemail.com
Wed Jan 31 14:42:45 UTC 2018


commit: https://git.busybox.net/busybox/commit/?id=8fd35a1fa629daed5e4e580e72993df7654f0a5e
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
pack_gzip                                            861     838     -23

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 archival/gzip.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/archival/gzip.c b/archival/gzip.c
index fa7a79b04..d52167f84 100644
--- a/archival/gzip.c
+++ b/archival/gzip.c
@@ -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)


More information about the busybox-cvs mailing list