summaryrefslogtreecommitdiff
path: root/deflate.c (follow)
Commit message (Collapse)AuthorAge
* Factor LZ77 and Huffman routines out of deflate.c.Simon Tatham2017-05-13
| | | | | | | | The general routines for analysing a buffer into an LZ77ish stream of literals and matches, and for constructing a Huffman tree in canonical format, now live in their own source files so that they can be reused for other similar compression formats. Deflate-specific details like the exact file encoding are left in deflate.c.
* Apply the same Deflate decoder fix as PuTTY r10278.Simon Tatham2014-10-01
| | | | | | | | | | | | This causes sensible error reporting if distance codes 30 or 31 appear in a compressed block. (Not that Halibut actually _uses_ the Deflate decoder - it only uses the encoder - but if I've got a copy of this code here then it should be correct.) [originally from svn r10280] [r10278 == 3fd8014ea7235d0ec34e8f97a34f3ecf576e8239 in putty repository]
* Silence compiler warnings on OS X 10.9.Simon Tatham2014-03-30
| | | | [originally from svn r10166]
* Patch from Maciej Adamczyk to set standard output to binary mode inSimon Tatham2012-06-03
| | | | | | | the standalone deflate utility modes, so you can redirect output to a file and end up with correct data in that file. [originally from svn r9552]
* Make the Deflate decoder correctly handle the special case of aSimon Tatham2012-06-01
| | | | | | | | | dynamic block in which the backward-distances Huffman table contains no entries at all. (In this situation it's impossible to use the distance table, and therefore the block must contain nothing but Huffman-coded literals.) [originally from svn r9550]
* Apply r6972 from my other copy of deflate.c: don't lose the BFINAL bitSimon Tatham2012-05-03
| | | | | | | on an uncompressed block. [originally from svn r9482] [r6972 == 37af901cfe63ed062306e3835751e9b8e089e252 in misc repository]
* Ahem. Don't invert the length _twice_.Simon Tatham2012-05-03
| | | | [originally from svn r9476]
* Add an error check for correct formatting in Deflate uncompressedSimon Tatham2012-05-03
| | | | | | | block headers. (Ubuntu 12.04's gcc spotted that nlen was unused, which it shouldn't have been.) [originally from svn r9475]
* Clean up some compiler warnings.Simon Tatham2008-11-21
| | | | [originally from svn r8310]
* When building the static Huffman tables, it's vital to include theSimon Tatham2007-02-13
| | | | | | | | | | 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]
* Fix typo in limit test in deflate_buildhuf(). (The only two limitSimon Tatham2006-12-07
| | | | | | | values ever used are 15 and 7, so testing against 16 is silly.) [originally from svn r6969] [this svn revision also touched misc]
* Update deflate.c to include nearly all the changes I've been makingSimon Tatham2006-12-06
| | | | | | | | in the main version. The one missing thing is the fancy new LZ77 compressor in misc/libcode/lz77.c, in whose stability I'm not yet confident enough to consider it ready for prime-time. [originally from svn r6967]
* Add support for compressed PDF streams, using Simon's new deflate library.Ben Harris2006-11-30
[originally from svn r6931]