Commit Graph

46 Commits

Author SHA1 Message Date
Mark Adler dca9e1d6f3 Add inflateGetDictionary() function. 2012-05-26 23:25:35 -07:00
Mark Adler 94acb3c1a0 zlib 1.2.6.1 2012-02-12 14:20:33 -08:00
Mark Adler 7d45cf5a1d Use optimized byte swap operations for Microsoft and GNU [Snyder]. 2012-02-11 00:26:38 -08:00
Mark Adler 5dac2aa007 Avoid the use of the Objective-C reserved name "id". 2012-01-29 21:15:24 -08:00
Mark Adler fe61dfb8a2 zlib 1.2.5.2 2011-12-18 10:39:45 -08:00
Mark Adler 70e3b1ca56 Do not set strm->adler when doing raw inflate. 2011-12-10 22:33:24 -08:00
Mark Adler 421c7a61f0 Have inflate() with Z_FINISH avoid the allocation of a window.
inflate() avoided that allocation normally, until it was modified to
update the window on a normal completion so that inflateResetKeep()
could work.  This patch restores that behavior, but only when
Z_FINISH is used successfully to complete an inflation of a stream in
a single call of inflate().  The comments in zlib.h have been updated
accordingly.
2011-12-10 22:33:24 -08:00
Mark Adler afe7cf78d5 Enable dictionary setting in middle of stream, and keeping the dictionary.
This patch adds the deflateResetKeep() function to retain the sliding
window for the next deflate operation, and fixes an inflateResetKeep()
problem that came from inflate() not updating the window when the
stream completed.  This enables constructing and decompressing a series
of concatenated deflate streams where each can depend on the history of
uncompressed data that precedes it.

This generalizes deflateSetDictionary() and inflateSetDictionary() to
permit setting the dictionary in the middle of a stream for raw deflate
and inflate.  This in combination with the Keep functions enables a
scheme for updating files block by block with the transmission of
compressed data, where blocks are sent with deflateResetKeep() to
retain history for better compression, and deflateSetDictionary() is
used for blocks already present at the receiver to skip compression but
insert that data in the history, again for better compression.  The
corresponding inflate calls are done on the receiver side.
2011-12-08 00:13:52 -08:00
Mark Adler de32a2d749 Remove code from inflate.c and infback.c that is impossible to execute.
During coverage testing it was discovered that these two lines could
never pull more bits, since the immediately preceding for loop assures
that all of the code's bits are already pulled.
2011-11-27 14:15:40 -08:00
Mark Adler 5b48d061c8 Fix indentation of code in inflate.c. 2011-10-09 15:25:48 -07:00
Mark Adler 77b47d55f1 Add undocumented inflateResetKeep() function for CAB file decoding.
The Microsoft CAB file format compresses each block with completed
deflate streams that depend on the sliding window history of the
previous block in order to decode.  inflateResetKeep() does what
inflateReset() does, except the sliding window history from the
previous inflate operation is retained.
2011-10-07 23:13:37 -07:00
Mark Adler f442c1e89e Add a ./config --solo option to make zlib subset with no libary use
A common request has been the ability to compile zlib to require no
other libraries.  This --solo option provides that ability.  The price
is that the gz*, compress*, and uncompress functions are eliminated,
and that the user must provide memory allocation and free routines to
deflate and inflate when initializing.
2011-10-07 02:11:56 -07:00
Mark Adler 518ad0177a Get inffixed.h and MAKEFIXED result to match. 2011-10-05 20:32:32 -07:00
Mark Adler 7df877eccd zlib 1.2.3.7 2011-09-09 23:27:08 -07:00
Mark Adler dc5a43ebfa zlib 1.2.3.6 2011-09-09 23:26:58 -07:00
Mark Adler d004b04783 zlib 1.2.3.5 2011-09-09 23:26:49 -07:00
Mark Adler f6194ef39a zlib 1.2.3.4 2011-09-09 23:26:40 -07:00
Mark Adler 639be99788 zlib 1.2.3.3 2011-09-09 23:26:29 -07:00
Mark Adler 9c3a583021 zlib 1.2.2.4 2011-09-09 23:24:52 -07:00
Mark Adler 6b8233bfe0 zlib 1.2.2.3 2011-09-09 23:24:43 -07:00
Mark Adler 0484693e17 zlib 1.2.2.2 2011-09-09 23:24:33 -07:00
Mark Adler 9811b53dd9 zlib 1.2.2.1 2011-09-09 23:24:24 -07:00
Mark Adler 79fbcdc939 zlib 1.2.2 2011-09-09 23:24:02 -07:00
Mark Adler 7a6955760b zlib 1.2.1.2 2011-09-09 23:23:45 -07:00
Mark Adler a2506218cd zlib 1.2.0.8 2011-09-09 23:23:14 -07:00
Mark Adler 4b5a43a219 zlib 1.2.0.5 2011-09-09 23:22:37 -07:00
Mark Adler 086e982175 zlib 1.2.0.4 2011-09-09 23:22:30 -07:00
Mark Adler 8e34b3a802 zlib 1.2.0.2 2011-09-09 23:22:10 -07:00
Mark Adler 13a294f044 zlib 1.2.0.1 2011-09-09 23:21:57 -07:00
Mark Adler 7c2a874e50 zlib 1.2.0 2011-09-09 23:21:47 -07:00
Mark Adler a383133c4e zlib 1.1.4 2011-09-09 23:20:42 -07:00
Mark Adler 965fe72aed zlib 1.1.0 2011-09-09 23:19:55 -07:00
Mark Adler b8c9ecb076 zlib 1.0.9 2011-09-09 23:19:21 -07:00
Mark Adler 6759211ad8 zlib 1.0.8 2011-09-09 23:18:57 -07:00
Mark Adler 7850e4e406 zlib 1.0.7 2011-09-09 23:17:33 -07:00
Mark Adler ff11b0a61f zlib 1.0.4 2011-09-09 23:17:02 -07:00
Mark Adler 423eb40306 zlib 1.0.1 2011-09-09 23:14:39 -07:00
Mark Adler 8a2acbffc8 zlib 1.0-pre 2011-09-09 23:13:27 -07:00
Mark Adler 56bcb184fa zlib 0.99 2011-09-09 23:11:37 -07:00
Mark Adler 23c69f1069 zlib 0.94 2011-09-09 23:09:18 -07:00
Mark Adler bdde4e09d2 zlib 0.92 2011-09-09 23:08:07 -07:00
Mark Adler 1c71d8b13b zlib 0.91 2011-09-09 23:07:35 -07:00
Mark Adler 64b2e89203 zlib 0.9 2011-09-09 23:06:52 -07:00
Mark Adler 4ca984fb44 zlib 0.8 2011-09-09 23:03:14 -07:00
Mark Adler 913afb9174 zlib 0.79 2011-09-09 22:52:17 -07:00
Mark Adler bcf78a2097 zlib 0.71 2011-09-09 22:36:31 -07:00