From db4aac34e9dd6778c132badb7ea000c2684392f9 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 30 Jan 2021 09:56:27 +0100 Subject: fix dictionary generation bug for static huffman blocks --- src/inflate.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/inflate.c b/src/inflate.c index 16e557c..27dcc79 100644 --- a/src/inflate.c +++ b/src/inflate.c @@ -88,7 +88,7 @@ uint8_t deflate_hc_lengths[19]; /* * Code lengths of the literal/length and distance alphabets. - * up to 286 literal/length codes + up to 32 distance codes. + * up to 288 literal/length codes + up to 30 distance codes. */ uint8_t deflate_lld_lengths[318]; @@ -306,19 +306,19 @@ static int8_t deflate_static_huffman() for (i = 256; i <= 279; i++) { deflate_lld_lengths[i] = 7; } - for (i = 280; i <= 285; i++) { + for (i = 280; i <= 287; i++) { deflate_lld_lengths[i] = 8; } - for (i = 286; i <= 286 + 29; i++) { + for (i = 288; i <= 288 + 29; i++) { deflate_lld_lengths[i] = 5; } - deflate_build_alphabet(deflate_lld_lengths, 286, deflate_bl_count_ll, + deflate_build_alphabet(deflate_lld_lengths, 288, deflate_bl_count_ll, deflate_next_code_ll); - deflate_build_alphabet(deflate_lld_lengths + 286, 29, + deflate_build_alphabet(deflate_lld_lengths + 288, 29, deflate_bl_count_d, deflate_next_code_d); - return deflate_huffman(deflate_lld_lengths, 286, - deflate_lld_lengths + 286, 29); + return deflate_huffman(deflate_lld_lengths, 288, + deflate_lld_lengths + 288, 29); } static int8_t deflate_dynamic_huffman() -- cgit v1.2.3