diff options
| author | Simon Tatham <anakin@pobox.com> | 2007-02-13 19:23:47 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2007-02-13 19:23:47 +0000 |
| commit | d324fe8cc1372360f49cfcfd34261cacc886d79c (patch) | |
| tree | ba97d4affdcfcfadacb85198a0f0e53324888448 /deflate.c | |
| parent | 3efa13587b73dd8a64ca8bdc149e8ff9b97376e9 (diff) | |
| download | halibut-d324fe8cc1372360f49cfcfd34261cacc886d79c.zip halibut-d324fe8cc1372360f49cfcfd34261cacc886d79c.tar.gz halibut-d324fe8cc1372360f49cfcfd34261cacc886d79c.tar.bz2 halibut-d324fe8cc1372360f49cfcfd34261cacc886d79c.tar.xz | |
When building the static Huffman tables, it's vital to include the
two unused entries at the end of the lit/len table (286 and 287),
because without them all the 9-bit codes are off by four. I can only
assume I hadn't noticed this before because no test file I've
compressed had both (a) contained byte values >= 0x90 and (b)
required a static block.
[originally from svn r7279]
Diffstat (limited to 'deflate.c')
| -rw-r--r-- | deflate.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -651,8 +651,8 @@ struct deflate_compress_ctx { unsigned long datasize; int lastblock; int finished; - unsigned char static_len1[286], static_len2[30]; - int static_code1[286], static_code2[30]; + unsigned char static_len1[288], static_len2[30]; + int static_code1[288], static_code2[30]; struct huftrees sht; #ifdef STATISTICS unsigned long bitcount; |