xref: /plan9-contrib/sys/src/cmd/gs/zlib/ChangeLog (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
17dd7cddfSDavid du Colombier
27dd7cddfSDavid du Colombier                ChangeLog file for zlib
3*593dc095SDavid du Colombier
4*593dc095SDavid du ColombierChanges in 1.2.2 (3 October 2004)
5*593dc095SDavid du Colombier- Update zlib.h comments on gzip in-memory processing
6*593dc095SDavid du Colombier- Set adler to 1 in inflateReset() to support Java test suite [Walles]
7*593dc095SDavid du Colombier- Add contrib/dotzlib [Ravn]
8*593dc095SDavid du Colombier- Update win32/DLL_FAQ.txt [Truta]
9*593dc095SDavid du Colombier- Update contrib/minizip [Vollant]
10*593dc095SDavid du Colombier- Move contrib/visual-basic.txt to old/ [Truta]
11*593dc095SDavid du Colombier- Fix assembler builds in projects/visualc6/ [Truta]
12*593dc095SDavid du Colombier
13*593dc095SDavid du ColombierChanges in 1.2.1.2 (9 September 2004)
14*593dc095SDavid du Colombier- Update INDEX file
15*593dc095SDavid du Colombier- Fix trees.c to update strm->data_type (no one ever noticed!)
16*593dc095SDavid du Colombier- Fix bug in error case in inflate.c, infback.c, and infback9.c [Brown]
17*593dc095SDavid du Colombier- Add "volatile" to crc table flag declaration (for DYNAMIC_CRC_TABLE)
18*593dc095SDavid du Colombier- Add limited multitasking protection to DYNAMIC_CRC_TABLE
19*593dc095SDavid du Colombier- Add NO_vsnprintf for VMS in zutil.h [Mozilla]
20*593dc095SDavid du Colombier- Don't declare strerror() under VMS [Mozilla]
21*593dc095SDavid du Colombier- Add comment to DYNAMIC_CRC_TABLE to use get_crc_table() to initialize
22*593dc095SDavid du Colombier- Update contrib/ada [Anisimkov]
23*593dc095SDavid du Colombier- Update contrib/minizip [Vollant]
24*593dc095SDavid du Colombier- Fix configure to not hardcode directories for Darwin [Peterson]
25*593dc095SDavid du Colombier- Fix gzio.c to not return error on empty files [Brown]
26*593dc095SDavid du Colombier- Fix indentation; update version in contrib/delphi/ZLib.pas and
27*593dc095SDavid du Colombier  contrib/pascal/zlibpas.pas [Truta]
28*593dc095SDavid du Colombier- Update mkasm.bat in contrib/masmx86 [Truta]
29*593dc095SDavid du Colombier- Update contrib/untgz [Truta]
30*593dc095SDavid du Colombier- Add projects/README.projects [Truta]
31*593dc095SDavid du Colombier- Add project for MS Visual C++ 6.0 in projects/visualc6 [Cadieux, Truta]
32*593dc095SDavid du Colombier- Update win32/DLL_FAQ.txt [Truta]
33*593dc095SDavid du Colombier- Update list of Z_PREFIX symbols in zconf.h [Randers-Pehrson, Truta]
34*593dc095SDavid du Colombier- Remove an unnecessary assignment to curr in inftrees.c [Truta]
35*593dc095SDavid du Colombier- Add OS/2 to exe builds in configure [Poltorak]
36*593dc095SDavid du Colombier- Remove err dummy parameter in zlib.h [Kientzle]
37*593dc095SDavid du Colombier
38*593dc095SDavid du ColombierChanges in 1.2.1.1 (9 January 2004)
39*593dc095SDavid du Colombier- Update email address in README
40*593dc095SDavid du Colombier- Several FAQ updates
41*593dc095SDavid du Colombier- Fix a big fat bug in inftrees.c that prevented decoding valid
42*593dc095SDavid du Colombier  dynamic blocks with only literals and no distance codes --
43*593dc095SDavid du Colombier  Thanks to "Hot Emu" for the bug report and sample file
44*593dc095SDavid du Colombier- Add a note to puff.c on no distance codes case.
45*593dc095SDavid du Colombier
46*593dc095SDavid du ColombierChanges in 1.2.1 (17 November 2003)
47*593dc095SDavid du Colombier- Remove a tab in contrib/gzappend/gzappend.c
48*593dc095SDavid du Colombier- Update some interfaces in contrib for new zlib functions
49*593dc095SDavid du Colombier- Update zlib version number in some contrib entries
50*593dc095SDavid du Colombier- Add Windows CE definition for ptrdiff_t in zutil.h [Mai, Truta]
51*593dc095SDavid du Colombier- Support shared libraries on Hurd and KFreeBSD [Brown]
52*593dc095SDavid du Colombier- Fix error in NO_DIVIDE option of adler32.c
53*593dc095SDavid du Colombier
54*593dc095SDavid du ColombierChanges in 1.2.0.8 (4 November 2003)
55*593dc095SDavid du Colombier- Update version in contrib/delphi/ZLib.pas and contrib/pascal/zlibpas.pas
56*593dc095SDavid du Colombier- Add experimental NO_DIVIDE #define in adler32.c
57*593dc095SDavid du Colombier    - Possibly faster on some processors (let me know if it is)
58*593dc095SDavid du Colombier- Correct Z_BLOCK to not return on first inflate call if no wrap
59*593dc095SDavid du Colombier- Fix strm->data_type on inflate() return to correctly indicate EOB
60*593dc095SDavid du Colombier- Add deflatePrime() function for appending in the middle of a byte
61*593dc095SDavid du Colombier- Add contrib/gzappend for an example of appending to a stream
62*593dc095SDavid du Colombier- Update win32/DLL_FAQ.txt [Truta]
63*593dc095SDavid du Colombier- Delete Turbo C comment in README [Truta]
64*593dc095SDavid du Colombier- Improve some indentation in zconf.h [Truta]
65*593dc095SDavid du Colombier- Fix infinite loop on bad input in configure script [Church]
66*593dc095SDavid du Colombier- Fix gzeof() for concatenated gzip files [Johnson]
67*593dc095SDavid du Colombier- Add example to contrib/visual-basic.txt [Michael B.]
68*593dc095SDavid du Colombier- Add -p to mkdir's in Makefile.in [vda]
69*593dc095SDavid du Colombier- Fix configure to properly detect presence or lack of printf functions
70*593dc095SDavid du Colombier- Add AS400 support [Monnerat]
71*593dc095SDavid du Colombier- Add a little Cygwin support [Wilson]
72*593dc095SDavid du Colombier
73*593dc095SDavid du ColombierChanges in 1.2.0.7 (21 September 2003)
74*593dc095SDavid du Colombier- Correct some debug formats in contrib/infback9
75*593dc095SDavid du Colombier- Cast a type in a debug statement in trees.c
76*593dc095SDavid du Colombier- Change search and replace delimiter in configure from % to # [Beebe]
77*593dc095SDavid du Colombier- Update contrib/untgz to 0.2 with various fixes [Truta]
78*593dc095SDavid du Colombier- Add build support for Amiga [Nikl]
79*593dc095SDavid du Colombier- Remove some directories in old that have been updated to 1.2
80*593dc095SDavid du Colombier- Add dylib building for Mac OS X in configure and Makefile.in
81*593dc095SDavid du Colombier- Remove old distribution stuff from Makefile
82*593dc095SDavid du Colombier- Update README to point to DLL_FAQ.txt, and add comment on Mac OS X
83*593dc095SDavid du Colombier- Update links in README
84*593dc095SDavid du Colombier
85*593dc095SDavid du ColombierChanges in 1.2.0.6 (13 September 2003)
86*593dc095SDavid du Colombier- Minor FAQ updates
87*593dc095SDavid du Colombier- Update contrib/minizip to 1.00 [Vollant]
88*593dc095SDavid du Colombier- Remove test of gz functions in example.c when GZ_COMPRESS defined [Truta]
89*593dc095SDavid du Colombier- Update POSTINC comment for 68060 [Nikl]
90*593dc095SDavid du Colombier- Add contrib/infback9 with deflate64 decoding (unsupported)
91*593dc095SDavid du Colombier- For MVS define NO_vsnprintf and undefine FAR [van Burik]
92*593dc095SDavid du Colombier- Add pragma for fdopen on MVS [van Burik]
93*593dc095SDavid du Colombier
94*593dc095SDavid du ColombierChanges in 1.2.0.5 (8 September 2003)
95*593dc095SDavid du Colombier- Add OF to inflateBackEnd() declaration in zlib.h
96*593dc095SDavid du Colombier- Remember start when using gzdopen in the middle of a file
97*593dc095SDavid du Colombier- Use internal off_t counters in gz* functions to properly handle seeks
98*593dc095SDavid du Colombier- Perform more rigorous check for distance-too-far in inffast.c
99*593dc095SDavid du Colombier- Add Z_BLOCK flush option to return from inflate at block boundary
100*593dc095SDavid du Colombier- Set strm->data_type on return from inflate
101*593dc095SDavid du Colombier    - Indicate bits unused, if at block boundary, and if in last block
102*593dc095SDavid du Colombier- Replace size_t with ptrdiff_t in crc32.c, and check for correct size
103*593dc095SDavid du Colombier- Add condition so old NO_DEFLATE define still works for compatibility
104*593dc095SDavid du Colombier- FAQ update regarding the Windows DLL [Truta]
105*593dc095SDavid du Colombier- INDEX update: add qnx entry, remove aix entry [Truta]
106*593dc095SDavid du Colombier- Install zlib.3 into mandir [Wilson]
107*593dc095SDavid du Colombier- Move contrib/zlib_dll_FAQ.txt to win32/DLL_FAQ.txt; update [Truta]
108*593dc095SDavid du Colombier- Adapt the zlib interface to the new DLL convention guidelines [Truta]
109*593dc095SDavid du Colombier- Introduce ZLIB_WINAPI macro to allow the export of functions using
110*593dc095SDavid du Colombier  the WINAPI calling convention, for Visual Basic [Vollant, Truta]
111*593dc095SDavid du Colombier- Update msdos and win32 scripts and makefiles [Truta]
112*593dc095SDavid du Colombier- Export symbols by name, not by ordinal, in win32/zlib.def [Truta]
113*593dc095SDavid du Colombier- Add contrib/ada [Anisimkov]
114*593dc095SDavid du Colombier- Move asm files from contrib/vstudio/vc70_32 to contrib/asm386 [Truta]
115*593dc095SDavid du Colombier- Rename contrib/asm386 to contrib/masmx86 [Truta, Vollant]
116*593dc095SDavid du Colombier- Add contrib/masm686 [Truta]
117*593dc095SDavid du Colombier- Fix offsets in contrib/inflate86 and contrib/masmx86/inffas32.asm
118*593dc095SDavid du Colombier  [Truta, Vollant]
119*593dc095SDavid du Colombier- Update contrib/delphi; rename to contrib/pascal; add example [Truta]
120*593dc095SDavid du Colombier- Remove contrib/delphi2; add a new contrib/delphi [Truta]
121*593dc095SDavid du Colombier- Avoid inclusion of the nonstandard <memory.h> in contrib/iostream,
122*593dc095SDavid du Colombier  and fix some method prototypes [Truta]
123*593dc095SDavid du Colombier- Fix the ZCR_SEED2 constant to avoid warnings in contrib/minizip
124*593dc095SDavid du Colombier  [Truta]
125*593dc095SDavid du Colombier- Avoid the use of backslash (\) in contrib/minizip [Vollant]
126*593dc095SDavid du Colombier- Fix file time handling in contrib/untgz; update makefiles [Truta]
127*593dc095SDavid du Colombier- Update contrib/vstudio/vc70_32 to comply with the new DLL guidelines
128*593dc095SDavid du Colombier  [Vollant]
129*593dc095SDavid du Colombier- Remove contrib/vstudio/vc15_16 [Vollant]
130*593dc095SDavid du Colombier- Rename contrib/vstudio/vc70_32 to contrib/vstudio/vc7 [Truta]
131*593dc095SDavid du Colombier- Update README.contrib [Truta]
132*593dc095SDavid du Colombier- Invert the assignment order of match_head and s->prev[...] in
133*593dc095SDavid du Colombier  INSERT_STRING [Truta]
134*593dc095SDavid du Colombier- Compare TOO_FAR with 32767 instead of 32768, to avoid 16-bit warnings
135*593dc095SDavid du Colombier  [Truta]
136*593dc095SDavid du Colombier- Compare function pointers with 0, not with NULL or Z_NULL [Truta]
137*593dc095SDavid du Colombier- Fix prototype of syncsearch in inflate.c [Truta]
138*593dc095SDavid du Colombier- Introduce ASMINF macro to be enabled when using an ASM implementation
139*593dc095SDavid du Colombier  of inflate_fast [Truta]
140*593dc095SDavid du Colombier- Change NO_DEFLATE to NO_GZCOMPRESS [Truta]
141*593dc095SDavid du Colombier- Modify test_gzio in example.c to take a single file name as a
142*593dc095SDavid du Colombier  parameter [Truta]
143*593dc095SDavid du Colombier- Exit the example.c program if gzopen fails [Truta]
144*593dc095SDavid du Colombier- Add type casts around strlen in example.c [Truta]
145*593dc095SDavid du Colombier- Remove casting to sizeof in minigzip.c; give a proper type
146*593dc095SDavid du Colombier  to the variable compared with SUFFIX_LEN [Truta]
147*593dc095SDavid du Colombier- Update definitions of STDC and STDC99 in zconf.h [Truta]
148*593dc095SDavid du Colombier- Synchronize zconf.h with the new Windows DLL interface [Truta]
149*593dc095SDavid du Colombier- Use SYS16BIT instead of __32BIT__ to distinguish between
150*593dc095SDavid du Colombier  16- and 32-bit platforms [Truta]
151*593dc095SDavid du Colombier- Use far memory allocators in small 16-bit memory models for
152*593dc095SDavid du Colombier  Turbo C [Truta]
153*593dc095SDavid du Colombier- Add info about the use of ASMV, ASMINF and ZLIB_WINAPI in
154*593dc095SDavid du Colombier  zlibCompileFlags [Truta]
155*593dc095SDavid du Colombier- Cygwin has vsnprintf [Wilson]
156*593dc095SDavid du Colombier- In Windows16, OS_CODE is 0, as in MSDOS [Truta]
157*593dc095SDavid du Colombier- In Cygwin, OS_CODE is 3 (Unix), not 11 (Windows32) [Wilson]
158*593dc095SDavid du Colombier
159*593dc095SDavid du ColombierChanges in 1.2.0.4 (10 August 2003)
160*593dc095SDavid du Colombier- Minor FAQ updates
161*593dc095SDavid du Colombier- Be more strict when checking inflateInit2's windowBits parameter
162*593dc095SDavid du Colombier- Change NO_GUNZIP compile option to NO_GZIP to cover deflate as well
163*593dc095SDavid du Colombier- Add gzip wrapper option to deflateInit2 using windowBits
164*593dc095SDavid du Colombier- Add updated QNX rule in configure and qnx directory [Bonnefoy]
165*593dc095SDavid du Colombier- Make inflate distance-too-far checks more rigorous
166*593dc095SDavid du Colombier- Clean up FAR usage in inflate
167*593dc095SDavid du Colombier- Add casting to sizeof() in gzio.c and minigzip.c
168*593dc095SDavid du Colombier
169*593dc095SDavid du ColombierChanges in 1.2.0.3 (19 July 2003)
170*593dc095SDavid du Colombier- Fix silly error in gzungetc() implementation [Vollant]
171*593dc095SDavid du Colombier- Update contrib/minizip and contrib/vstudio [Vollant]
172*593dc095SDavid du Colombier- Fix printf format in example.c
173*593dc095SDavid du Colombier- Correct cdecl support in zconf.in.h [Anisimkov]
174*593dc095SDavid du Colombier- Minor FAQ updates
175*593dc095SDavid du Colombier
176*593dc095SDavid du ColombierChanges in 1.2.0.2 (13 July 2003)
177*593dc095SDavid du Colombier- Add ZLIB_VERNUM in zlib.h for numerical preprocessor comparisons
178*593dc095SDavid du Colombier- Attempt to avoid warnings in crc32.c for pointer-int conversion
179*593dc095SDavid du Colombier- Add AIX to configure, remove aix directory [Bakker]
180*593dc095SDavid du Colombier- Add some casts to minigzip.c
181*593dc095SDavid du Colombier- Improve checking after insecure sprintf() or vsprintf() calls
182*593dc095SDavid du Colombier- Remove #elif's from crc32.c
183*593dc095SDavid du Colombier- Change leave label to inf_leave in inflate.c and infback.c to avoid
184*593dc095SDavid du Colombier  library conflicts
185*593dc095SDavid du Colombier- Remove inflate gzip decoding by default--only enable gzip decoding by
186*593dc095SDavid du Colombier  special request for stricter backward compatibility
187*593dc095SDavid du Colombier- Add zlibCompileFlags() function to return compilation information
188*593dc095SDavid du Colombier- More typecasting in deflate.c to avoid warnings
189*593dc095SDavid du Colombier- Remove leading underscore from _Capital #defines [Truta]
190*593dc095SDavid du Colombier- Fix configure to link shared library when testing
191*593dc095SDavid du Colombier- Add some Windows CE target adjustments [Mai]
192*593dc095SDavid du Colombier- Remove #define ZLIB_DLL in zconf.h [Vollant]
193*593dc095SDavid du Colombier- Add zlib.3 [Rodgers]
194*593dc095SDavid du Colombier- Update RFC URL in deflate.c and algorithm.txt [Mai]
195*593dc095SDavid du Colombier- Add zlib_dll_FAQ.txt to contrib [Truta]
196*593dc095SDavid du Colombier- Add UL to some constants [Truta]
197*593dc095SDavid du Colombier- Update minizip and vstudio [Vollant]
198*593dc095SDavid du Colombier- Remove vestigial NEED_DUMMY_RETURN from zconf.in.h
199*593dc095SDavid du Colombier- Expand use of NO_DUMMY_DECL to avoid all dummy structures
200*593dc095SDavid du Colombier- Added iostream3 to contrib [Schwardt]
201*593dc095SDavid du Colombier- Replace rewind() with fseek() for WinCE [Truta]
202*593dc095SDavid du Colombier- Improve setting of zlib format compression level flags
203*593dc095SDavid du Colombier    - Report 0 for huffman and rle strategies and for level == 0 or 1
204*593dc095SDavid du Colombier    - Report 2 only for level == 6
205*593dc095SDavid du Colombier- Only deal with 64K limit when necessary at compile time [Truta]
206*593dc095SDavid du Colombier- Allow TOO_FAR check to be turned off at compile time [Truta]
207*593dc095SDavid du Colombier- Add gzclearerr() function [Souza]
208*593dc095SDavid du Colombier- Add gzungetc() function
209*593dc095SDavid du Colombier
210*593dc095SDavid du ColombierChanges in 1.2.0.1 (17 March 2003)
211*593dc095SDavid du Colombier- Add Z_RLE strategy for run-length encoding [Truta]
212*593dc095SDavid du Colombier    - When Z_RLE requested, restrict matches to distance one
213*593dc095SDavid du Colombier    - Update zlib.h, minigzip.c, gzopen(), gzdopen() for Z_RLE
214*593dc095SDavid du Colombier- Correct FASTEST compilation to allow level == 0
215*593dc095SDavid du Colombier- Clean up what gets compiled for FASTEST
216*593dc095SDavid du Colombier- Incorporate changes to zconf.in.h [Vollant]
217*593dc095SDavid du Colombier    - Refine detection of Turbo C need for dummy returns
218*593dc095SDavid du Colombier    - Refine ZLIB_DLL compilation
219*593dc095SDavid du Colombier    - Include additional header file on VMS for off_t typedef
220*593dc095SDavid du Colombier- Try to use _vsnprintf where it supplants vsprintf [Vollant]
221*593dc095SDavid du Colombier- Add some casts in inffast.c
222*593dc095SDavid du Colombier- Enchance comments in zlib.h on what happens if gzprintf() tries to
223*593dc095SDavid du Colombier  write more than 4095 bytes before compression
224*593dc095SDavid du Colombier- Remove unused state from inflateBackEnd()
225*593dc095SDavid du Colombier- Remove exit(0) from minigzip.c, example.c
226*593dc095SDavid du Colombier- Get rid of all those darn tabs
227*593dc095SDavid du Colombier- Add "check" target to Makefile.in that does the same thing as "test"
228*593dc095SDavid du Colombier- Add "mostlyclean" and "maintainer-clean" targets to Makefile.in
229*593dc095SDavid du Colombier- Update contrib/inflate86 [Anderson]
230*593dc095SDavid du Colombier- Update contrib/testzlib, contrib/vstudio, contrib/minizip [Vollant]
231*593dc095SDavid du Colombier- Add msdos and win32 directories with makefiles [Truta]
232*593dc095SDavid du Colombier- More additions and improvements to the FAQ
233*593dc095SDavid du Colombier
234*593dc095SDavid du ColombierChanges in 1.2.0 (9 March 2003)
235*593dc095SDavid du Colombier- New and improved inflate code
236*593dc095SDavid du Colombier    - About 20% faster
237*593dc095SDavid du Colombier    - Does not allocate 32K window unless and until needed
238*593dc095SDavid du Colombier    - Automatically detects and decompresses gzip streams
239*593dc095SDavid du Colombier    - Raw inflate no longer needs an extra dummy byte at end
240*593dc095SDavid du Colombier    - Added inflateBack functions using a callback interface--even faster
241*593dc095SDavid du Colombier      than inflate, useful for file utilities (gzip, zip)
242*593dc095SDavid du Colombier    - Added inflateCopy() function to record state for random access on
243*593dc095SDavid du Colombier      externally generated deflate streams (e.g. in gzip files)
244*593dc095SDavid du Colombier    - More readable code (I hope)
245*593dc095SDavid du Colombier- New and improved crc32()
246*593dc095SDavid du Colombier    - About 50% faster, thanks to suggestions from Rodney Brown
247*593dc095SDavid du Colombier- Add deflateBound() and compressBound() functions
248*593dc095SDavid du Colombier- Fix memory leak in deflateInit2()
249*593dc095SDavid du Colombier- Permit setting dictionary for raw deflate (for parallel deflate)
250*593dc095SDavid du Colombier- Fix const declaration for gzwrite()
251*593dc095SDavid du Colombier- Check for some malloc() failures in gzio.c
252*593dc095SDavid du Colombier- Fix bug in gzopen() on single-byte file 0x1f
253*593dc095SDavid du Colombier- Fix bug in gzread() on concatenated file with 0x1f at end of buffer
254*593dc095SDavid du Colombier  and next buffer doesn't start with 0x8b
255*593dc095SDavid du Colombier- Fix uncompress() to return Z_DATA_ERROR on truncated input
256*593dc095SDavid du Colombier- Free memory at end of example.c
257*593dc095SDavid du Colombier- Remove MAX #define in trees.c (conflicted with some libraries)
258*593dc095SDavid du Colombier- Fix static const's in deflate.c, gzio.c, and zutil.[ch]
259*593dc095SDavid du Colombier- Declare malloc() and free() in gzio.c if STDC not defined
260*593dc095SDavid du Colombier- Use malloc() instead of calloc() in zutil.c if int big enough
261*593dc095SDavid du Colombier- Define STDC for AIX
262*593dc095SDavid du Colombier- Add aix/ with approach for compiling shared library on AIX
263*593dc095SDavid du Colombier- Add HP-UX support for shared libraries in configure
264*593dc095SDavid du Colombier- Add OpenUNIX support for shared libraries in configure
265*593dc095SDavid du Colombier- Use $cc instead of gcc to build shared library
266*593dc095SDavid du Colombier- Make prefix directory if needed when installing
267*593dc095SDavid du Colombier- Correct Macintosh avoidance of typedef Byte in zconf.h
268*593dc095SDavid du Colombier- Correct Turbo C memory allocation when under Linux
269*593dc095SDavid du Colombier- Use libz.a instead of -lz in Makefile (assure use of compiled library)
270*593dc095SDavid du Colombier- Update configure to check for snprintf or vsnprintf functions and their
271*593dc095SDavid du Colombier  return value, warn during make if using an insecure function
272*593dc095SDavid du Colombier- Fix configure problem with compile-time knowledge of HAVE_UNISTD_H that
273*593dc095SDavid du Colombier  is lost when library is used--resolution is to build new zconf.h
274*593dc095SDavid du Colombier- Documentation improvements (in zlib.h):
275*593dc095SDavid du Colombier    - Document raw deflate and inflate
276*593dc095SDavid du Colombier    - Update RFCs URL
277*593dc095SDavid du Colombier    - Point out that zlib and gzip formats are different
278*593dc095SDavid du Colombier    - Note that Z_BUF_ERROR is not fatal
279*593dc095SDavid du Colombier    - Document string limit for gzprintf() and possible buffer overflow
280*593dc095SDavid du Colombier    - Note requirement on avail_out when flushing
281*593dc095SDavid du Colombier    - Note permitted values of flush parameter of inflate()
282*593dc095SDavid du Colombier- Add some FAQs (and even answers) to the FAQ
283*593dc095SDavid du Colombier- Add contrib/inflate86/ for x86 faster inflate
284*593dc095SDavid du Colombier- Add contrib/blast/ for PKWare Data Compression Library decompression
285*593dc095SDavid du Colombier- Add contrib/puff/ simple inflate for deflate format description
286*593dc095SDavid du Colombier
287*593dc095SDavid du ColombierChanges in 1.1.4 (11 March 2002)
288*593dc095SDavid du Colombier- ZFREE was repeated on same allocation on some error conditions.
289*593dc095SDavid du Colombier  This creates a security problem described in
290*593dc095SDavid du Colombier  http://www.zlib.org/advisory-2002-03-11.txt
291*593dc095SDavid du Colombier- Returned incorrect error (Z_MEM_ERROR) on some invalid data
292*593dc095SDavid du Colombier- Avoid accesses before window for invalid distances with inflate window
293*593dc095SDavid du Colombier  less than 32K.
294*593dc095SDavid du Colombier- force windowBits > 8 to avoid a bug in the encoder for a window size
295*593dc095SDavid du Colombier  of 256 bytes. (A complete fix will be available in 1.1.5).
296*593dc095SDavid du Colombier
297*593dc095SDavid du ColombierChanges in 1.1.3 (9 July 1998)
298*593dc095SDavid du Colombier- fix "an inflate input buffer bug that shows up on rare but persistent
299*593dc095SDavid du Colombier  occasions" (Mark)
300*593dc095SDavid du Colombier- fix gzread and gztell for concatenated .gz files (Didier Le Botlan)
301*593dc095SDavid du Colombier- fix gzseek(..., SEEK_SET) in write mode
302*593dc095SDavid du Colombier- fix crc check after a gzeek (Frank Faubert)
303*593dc095SDavid du Colombier- fix miniunzip when the last entry in a zip file is itself a zip file
304*593dc095SDavid du Colombier  (J Lillge)
305*593dc095SDavid du Colombier- add contrib/asm586 and contrib/asm686 (Brian Raiter)
306*593dc095SDavid du Colombier  See http://www.muppetlabs.com/~breadbox/software/assembly.html
307*593dc095SDavid du Colombier- add support for Delphi 3 in contrib/delphi (Bob Dellaca)
308*593dc095SDavid du Colombier- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti)
309*593dc095SDavid du Colombier- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren)
310*593dc095SDavid du Colombier- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks)
311*593dc095SDavid du Colombier- added a FAQ file
312*593dc095SDavid du Colombier
313*593dc095SDavid du Colombier- Support gzdopen on Mac with Metrowerks (Jason Linhart)
314*593dc095SDavid du Colombier- Do not redefine Byte on Mac (Brad Pettit & Jason Linhart)
315*593dc095SDavid du Colombier- define SEEK_END too if SEEK_SET is not defined (Albert Chin-A-Young)
316*593dc095SDavid du Colombier- avoid some warnings with Borland C (Tom Tanner)
317*593dc095SDavid du Colombier- fix a problem in contrib/minizip/zip.c for 16-bit MSDOS (Gilles Vollant)
318*593dc095SDavid du Colombier- emulate utime() for WIN32 in contrib/untgz  (Gilles Vollant)
319*593dc095SDavid du Colombier- allow several arguments to configure (Tim Mooney, Frodo Looijaard)
320*593dc095SDavid du Colombier- use libdir and includedir in Makefile.in (Tim Mooney)
321*593dc095SDavid du Colombier- support shared libraries on OSF1 V4 (Tim Mooney)
322*593dc095SDavid du Colombier- remove so_locations in "make clean"  (Tim Mooney)
323*593dc095SDavid du Colombier- fix maketree.c compilation error (Glenn, Mark)
324*593dc095SDavid du Colombier- Python interface to zlib now in Python 1.5 (Jeremy Hylton)
325*593dc095SDavid du Colombier- new Makefile.riscos (Rich Walker)
326*593dc095SDavid du Colombier- initialize static descriptors in trees.c for embedded targets (Nick Smith)
327*593dc095SDavid du Colombier- use "foo-gz" in example.c for RISCOS and VMS (Nick Smith)
328*593dc095SDavid du Colombier- add the OS/2 files in Makefile.in too (Andrew Zabolotny)
329*593dc095SDavid du Colombier- fix fdopen and halloc macros for Microsoft C 6.0 (Tom Lane)
330*593dc095SDavid du Colombier- fix maketree.c to allow clean compilation of inffixed.h (Mark)
331*593dc095SDavid du Colombier- fix parameter check in deflateCopy (Gunther Nikl)
332*593dc095SDavid du Colombier- cleanup trees.c, use compressed_len only in debug mode (Christian Spieler)
333*593dc095SDavid du Colombier- Many portability patches by Christian Spieler:
334*593dc095SDavid du Colombier  . zutil.c, zutil.h: added "const" for zmem*
335*593dc095SDavid du Colombier  . Make_vms.com: fixed some typos
336*593dc095SDavid du Colombier  . Make_vms.com: msdos/Makefile.*: removed zutil.h from some dependency lists
337*593dc095SDavid du Colombier  . msdos/Makefile.msc: remove "default rtl link library" info from obj files
338*593dc095SDavid du Colombier  . msdos/Makefile.*: use model-dependent name for the built zlib library
339*593dc095SDavid du Colombier  . msdos/Makefile.emx, nt/Makefile.emx, nt/Makefile.gcc:
340*593dc095SDavid du Colombier     new makefiles, for emx (DOS/OS2), emx&rsxnt and mingw32 (Windows 9x / NT)
341*593dc095SDavid du Colombier- use define instead of typedef for Bytef also for MSC small/medium (Tom Lane)
342*593dc095SDavid du Colombier- replace __far with _far for better portability (Christian Spieler, Tom Lane)
343*593dc095SDavid du Colombier- fix test for errno.h in configure (Tim Newsham)
344*593dc095SDavid du Colombier
345*593dc095SDavid du ColombierChanges in 1.1.2 (19 March 98)
346*593dc095SDavid du Colombier- added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant)
347*593dc095SDavid du Colombier  See http://www.winimage.com/zLibDll/unzip.html
348*593dc095SDavid du Colombier- preinitialize the inflate tables for fixed codes, to make the code
349*593dc095SDavid du Colombier  completely thread safe (Mark)
350*593dc095SDavid du Colombier- some simplifications and slight speed-up to the inflate code (Mark)
351*593dc095SDavid du Colombier- fix gzeof on non-compressed files (Allan Schrum)
352*593dc095SDavid du Colombier- add -std1 option in configure for OSF1 to fix gzprintf (Martin Mokrejs)
353*593dc095SDavid du Colombier- use default value of 4K for Z_BUFSIZE for 16-bit MSDOS (Tim Wegner + Glenn)
354*593dc095SDavid du Colombier- added os2/Makefile.def and os2/zlib.def (Andrew Zabolotny)
355*593dc095SDavid du Colombier- add shared lib support for UNIX_SV4.2MP (MATSUURA Takanori)
356*593dc095SDavid du Colombier- do not wrap extern "C" around system includes (Tom Lane)
357*593dc095SDavid du Colombier- mention zlib binding for TCL in README (Andreas Kupries)
358*593dc095SDavid du Colombier- added amiga/Makefile.pup for Amiga powerUP SAS/C PPC (Andreas Kleinert)
359*593dc095SDavid du Colombier- allow "make install prefix=..." even after configure (Glenn Randers-Pehrson)
360*593dc095SDavid du Colombier- allow "configure --prefix $HOME" (Tim Mooney)
361*593dc095SDavid du Colombier- remove warnings in example.c and gzio.c (Glenn Randers-Pehrson)
362*593dc095SDavid du Colombier- move Makefile.sas to amiga/Makefile.sas
363*593dc095SDavid du Colombier
364*593dc095SDavid du ColombierChanges in 1.1.1 (27 Feb 98)
365*593dc095SDavid du Colombier- fix macros _tr_tally_* in deflate.h for debug mode  (Glenn Randers-Pehrson)
366*593dc095SDavid du Colombier- remove block truncation heuristic which had very marginal effect for zlib
367*593dc095SDavid du Colombier  (smaller lit_bufsize than in gzip 1.2.4) and degraded a little the
368*593dc095SDavid du Colombier  compression ratio on some files. This also allows inlining _tr_tally for
369*593dc095SDavid du Colombier  matches in deflate_slow.
370*593dc095SDavid du Colombier- added msdos/Makefile.w32 for WIN32 Microsoft Visual C++ (Bob Frazier)
371*593dc095SDavid du Colombier
372*593dc095SDavid du ColombierChanges in 1.1.0 (24 Feb 98)
373*593dc095SDavid du Colombier- do not return STREAM_END prematurely in inflate (John Bowler)
374*593dc095SDavid du Colombier- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler)
375*593dc095SDavid du Colombier- compile with -DFASTEST to get compression code optimized for speed only
376*593dc095SDavid du Colombier- in minigzip, try mmap'ing the input file first (Miguel Albrecht)
377*593dc095SDavid du Colombier- increase size of I/O buffers in minigzip.c and gzio.c (not a big gain
378*593dc095SDavid du Colombier  on Sun but significant on HP)
379*593dc095SDavid du Colombier
380*593dc095SDavid du Colombier- add a pointer to experimental unzip library in README (Gilles Vollant)
381*593dc095SDavid du Colombier- initialize variable gcc in configure (Chris Herborth)
382*593dc095SDavid du Colombier
383*593dc095SDavid du ColombierChanges in 1.0.9 (17 Feb 1998)
384*593dc095SDavid du Colombier- added gzputs and gzgets functions
385*593dc095SDavid du Colombier- do not clear eof flag in gzseek (Mark Diekhans)
386*593dc095SDavid du Colombier- fix gzseek for files in transparent mode (Mark Diekhans)
387*593dc095SDavid du Colombier- do not assume that vsprintf returns the number of bytes written (Jens Krinke)
388*593dc095SDavid du Colombier- replace EXPORT with ZEXPORT to avoid conflict with other programs
389*593dc095SDavid du Colombier- added compress2 in zconf.h, zlib.def, zlib.dnt
390*593dc095SDavid du Colombier- new asm code from Gilles Vollant in contrib/asm386
391*593dc095SDavid du Colombier- simplify the inflate code (Mark):
392*593dc095SDavid du Colombier . Replace ZALLOC's in huft_build() with single ZALLOC in inflate_blocks_new()
393*593dc095SDavid du Colombier . ZALLOC the length list in inflate_trees_fixed() instead of using stack
394*593dc095SDavid du Colombier . ZALLOC the value area for huft_build() instead of using stack
395*593dc095SDavid du Colombier . Simplify Z_FINISH check in inflate()
396*593dc095SDavid du Colombier
397*593dc095SDavid du Colombier- Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8
398*593dc095SDavid du Colombier- in inftrees.c, avoid cc -O bug on HP (Farshid Elahi)
399*593dc095SDavid du Colombier- in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with
400*593dc095SDavid du Colombier  the declaration of FAR (Gilles VOllant)
401*593dc095SDavid du Colombier- install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann)
402*593dc095SDavid du Colombier- read_buf buf parameter of type Bytef* instead of charf*
403*593dc095SDavid du Colombier- zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout)
404*593dc095SDavid du Colombier- do not redeclare unlink in minigzip.c for WIN32 (John Bowler)
405*593dc095SDavid du Colombier- fix check for presence of directories in "make install" (Ian Willis)
406*593dc095SDavid du Colombier
407*593dc095SDavid du ColombierChanges in 1.0.8 (27 Jan 1998)
408*593dc095SDavid du Colombier- fixed offsets in contrib/asm386/gvmat32.asm (Gilles Vollant)
409*593dc095SDavid du Colombier- fix gzgetc and gzputc for big endian systems (Markus Oberhumer)
410*593dc095SDavid du Colombier- added compress2() to allow setting the compression level
411*593dc095SDavid du Colombier- include sys/types.h to get off_t on some systems (Marc Lehmann & QingLong)
412*593dc095SDavid du Colombier- use constant arrays for the static trees in trees.c instead of computing
413*593dc095SDavid du Colombier  them at run time (thanks to Ken Raeburn for this suggestion). To create
414*593dc095SDavid du Colombier  trees.h, compile with GEN_TREES_H and run "make test".
415*593dc095SDavid du Colombier- check return code of example in "make test" and display result
416*593dc095SDavid du Colombier- pass minigzip command line options to file_compress
417*593dc095SDavid du Colombier- simplifying code of inflateSync to avoid gcc 2.8 bug
418*593dc095SDavid du Colombier
419*593dc095SDavid du Colombier- support CC="gcc -Wall" in configure -s (QingLong)
420*593dc095SDavid du Colombier- avoid a flush caused by ftell in gzopen for write mode (Ken Raeburn)
421*593dc095SDavid du Colombier- fix test for shared library support to avoid compiler warnings
422*593dc095SDavid du Colombier- zlib.lib -> zlib.dll in msdos/zlib.rc (Gilles Vollant)
423*593dc095SDavid du Colombier- check for TARGET_OS_MAC in addition to MACOS (Brad Pettit)
424*593dc095SDavid du Colombier- do not use fdopen for Metrowerks on Mac (Brad Pettit))
425*593dc095SDavid du Colombier- add checks for gzputc and gzputc in example.c
426*593dc095SDavid du Colombier- avoid warnings in gzio.c and deflate.c (Andreas Kleinert)
427*593dc095SDavid du Colombier- use const for the CRC table (Ken Raeburn)
428*593dc095SDavid du Colombier- fixed "make uninstall" for shared libraries
429*593dc095SDavid du Colombier- use Tracev instead of Trace in infblock.c
430*593dc095SDavid du Colombier- in example.c use correct compressed length for test_sync
431*593dc095SDavid du Colombier- suppress +vnocompatwarnings in configure for HPUX (not always supported)
432*593dc095SDavid du Colombier
433*593dc095SDavid du ColombierChanges in 1.0.7 (20 Jan 1998)
434*593dc095SDavid du Colombier- fix gzseek which was broken in write mode
435*593dc095SDavid du Colombier- return error for gzseek to negative absolute position
436*593dc095SDavid du Colombier- fix configure for Linux (Chun-Chung Chen)
437*593dc095SDavid du Colombier- increase stack space for MSC (Tim Wegner)
438*593dc095SDavid du Colombier- get_crc_table and inflateSyncPoint are EXPORTed (Gilles Vollant)
439*593dc095SDavid du Colombier- define EXPORTVA for gzprintf (Gilles Vollant)
440*593dc095SDavid du Colombier- added man page zlib.3 (Rick Rodgers)
441*593dc095SDavid du Colombier- for contrib/untgz, fix makedir() and improve Makefile
442*593dc095SDavid du Colombier
443*593dc095SDavid du Colombier- check gzseek in write mode in example.c
444*593dc095SDavid du Colombier- allocate extra buffer for seeks only if gzseek is actually called
445*593dc095SDavid du Colombier- avoid signed/unsigned comparisons (Tim Wegner, Gilles Vollant)
446*593dc095SDavid du Colombier- add inflateSyncPoint in zconf.h
447*593dc095SDavid du Colombier- fix list of exported functions in nt/zlib.dnt and mdsos/zlib.def
448*593dc095SDavid du Colombier
449*593dc095SDavid du ColombierChanges in 1.0.6 (19 Jan 1998)
450*593dc095SDavid du Colombier- add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and
451*593dc095SDavid du Colombier  gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code)
452*593dc095SDavid du Colombier- Fix a deflate bug occuring only with compression level 0 (thanks to
453*593dc095SDavid du Colombier  Andy Buckler for finding this one).
454*593dc095SDavid du Colombier- In minigzip, pass transparently also the first byte for .Z files.
455*593dc095SDavid du Colombier- return Z_BUF_ERROR instead of Z_OK if output buffer full in uncompress()
456*593dc095SDavid du Colombier- check Z_FINISH in inflate (thanks to Marc Schluper)
457*593dc095SDavid du Colombier- Implement deflateCopy (thanks to Adam Costello)
458*593dc095SDavid du Colombier- make static libraries by default in configure, add --shared option.
459*593dc095SDavid du Colombier- move MSDOS or Windows specific files to directory msdos
460*593dc095SDavid du Colombier- suppress the notion of partial flush to simplify the interface
461*593dc095SDavid du Colombier  (but the symbol Z_PARTIAL_FLUSH is kept for compatibility with 1.0.4)
462*593dc095SDavid du Colombier- suppress history buffer provided by application to simplify the interface
463*593dc095SDavid du Colombier  (this feature was not implemented anyway in 1.0.4)
464*593dc095SDavid du Colombier- next_in and avail_in must be initialized before calling inflateInit or
465*593dc095SDavid du Colombier  inflateInit2
466*593dc095SDavid du Colombier- add EXPORT in all exported functions (for Windows DLL)
467*593dc095SDavid du Colombier- added Makefile.nt (thanks to Stephen Williams)
468*593dc095SDavid du Colombier- added the unsupported "contrib" directory:
469*593dc095SDavid du Colombier   contrib/asm386/ by Gilles Vollant <info@winimage.com>
470*593dc095SDavid du Colombier        386 asm code replacing longest_match().
471*593dc095SDavid du Colombier   contrib/iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>
472*593dc095SDavid du Colombier        A C++ I/O streams interface to the zlib gz* functions
473*593dc095SDavid du Colombier   contrib/iostream2/  by Tyge L�vset <Tyge.Lovset@cmr.no>
474*593dc095SDavid du Colombier        Another C++ I/O streams interface
475*593dc095SDavid du Colombier   contrib/untgz/  by "Pedro A. Aranda Guti\irrez" <paag@tid.es>
476*593dc095SDavid du Colombier        A very simple tar.gz file extractor using zlib
477*593dc095SDavid du Colombier   contrib/visual-basic.txt by Carlos Rios <c_rios@sonda.cl>
478*593dc095SDavid du Colombier        How to use compress(), uncompress() and the gz* functions from VB.
479*593dc095SDavid du Colombier- pass params -f (filtered data), -h (huffman only), -1 to -9 (compression
480*593dc095SDavid du Colombier  level) in minigzip (thanks to Tom Lane)
481*593dc095SDavid du Colombier
482*593dc095SDavid du Colombier- use const for rommable constants in deflate
483*593dc095SDavid du Colombier- added test for gzseek and gztell in example.c
484*593dc095SDavid du Colombier- add undocumented function inflateSyncPoint() (hack for Paul Mackerras)
485*593dc095SDavid du Colombier- add undocumented function zError to convert error code to string
486*593dc095SDavid du Colombier  (for Tim Smithers)
487*593dc095SDavid du Colombier- Allow compilation of gzio with -DNO_DEFLATE to avoid the compression code.
488*593dc095SDavid du Colombier- Use default memcpy for Symantec MSDOS compiler.
489*593dc095SDavid du Colombier- Add EXPORT keyword for check_func (needed for Windows DLL)
490*593dc095SDavid du Colombier- add current directory to LD_LIBRARY_PATH for "make test"
491*593dc095SDavid du Colombier- create also a link for libz.so.1
492*593dc095SDavid du Colombier- added support for FUJITSU UXP/DS (thanks to Toshiaki Nomura)
493*593dc095SDavid du Colombier- use $(SHAREDLIB) instead of libz.so in Makefile.in (for HPUX)
494*593dc095SDavid du Colombier- added -soname for Linux in configure (Chun-Chung Chen,
495*593dc095SDavid du Colombier- assign numbers to the exported functions in zlib.def (for Windows DLL)
496*593dc095SDavid du Colombier- add advice in zlib.h for best usage of deflateSetDictionary
497*593dc095SDavid du Colombier- work around compiler bug on Atari (cast Z_NULL in call of s->checkfn)
498*593dc095SDavid du Colombier- allow compilation with ANSI keywords only enabled for TurboC in large model
499*593dc095SDavid du Colombier- avoid "versionString"[0] (Borland bug)
500*593dc095SDavid du Colombier- add NEED_DUMMY_RETURN for Borland
501*593dc095SDavid du Colombier- use variable z_verbose for tracing in debug mode (L. Peter Deutsch).
502*593dc095SDavid du Colombier- allow compilation with CC
503*593dc095SDavid du Colombier- defined STDC for OS/2 (David Charlap)
504*593dc095SDavid du Colombier- limit external names to 8 chars for MVS (Thomas Lund)
505*593dc095SDavid du Colombier- in minigzip.c, use static buffers only for 16-bit systems
506*593dc095SDavid du Colombier- fix suffix check for "minigzip -d foo.gz"
507*593dc095SDavid du Colombier- do not return an error for the 2nd of two consecutive gzflush() (Felix Lee)
508*593dc095SDavid du Colombier- use _fdopen instead of fdopen for MSC >= 6.0 (Thomas Fanslau)
509*593dc095SDavid du Colombier- added makelcc.bat for lcc-win32 (Tom St Denis)
510*593dc095SDavid du Colombier- in Makefile.dj2, use copy and del instead of install and rm (Frank Donahoe)
511*593dc095SDavid du Colombier- Avoid expanded $Id: ChangeLog,v 1.1.1.1 2005/04/24 21:39:42 giles Exp $. Use "rcs -kb" or "cvs admin -kb" to avoid Id expansion.
512*593dc095SDavid du Colombier- check for unistd.h in configure (for off_t)
513*593dc095SDavid du Colombier- remove useless check parameter in inflate_blocks_free
514*593dc095SDavid du Colombier- avoid useless assignment of s->check to itself in inflate_blocks_new
515*593dc095SDavid du Colombier- do not flush twice in gzclose (thanks to Ken Raeburn)
516*593dc095SDavid du Colombier- rename FOPEN as F_OPEN to avoid clash with /usr/include/sys/file.h
517*593dc095SDavid du Colombier- use NO_ERRNO_H instead of enumeration of operating systems with errno.h
518*593dc095SDavid du Colombier- work around buggy fclose on pipes for HP/UX
519*593dc095SDavid du Colombier- support zlib DLL with BORLAND C++ 5.0 (thanks to Glenn Randers-Pehrson)
520*593dc095SDavid du Colombier- fix configure if CC is already equal to gcc
521*593dc095SDavid du Colombier
522*593dc095SDavid du ColombierChanges in 1.0.5 (3 Jan 98)
523*593dc095SDavid du Colombier- Fix inflate to terminate gracefully when fed corrupted or invalid data
524*593dc095SDavid du Colombier- Use const for rommable constants in inflate
525*593dc095SDavid du Colombier- Eliminate memory leaks on error conditions in inflate
526*593dc095SDavid du Colombier- Removed some vestigial code in inflate
527*593dc095SDavid du Colombier- Update web address in README
5287dd7cddfSDavid du Colombier
5297dd7cddfSDavid du ColombierChanges in 1.0.4 (24 Jul 96)
5307dd7cddfSDavid du Colombier- In very rare conditions, deflate(s, Z_FINISH) could fail to produce an EOF
5317dd7cddfSDavid du Colombier  bit, so the decompressor could decompress all the correct data but went
5327dd7cddfSDavid du Colombier  on to attempt decompressing extra garbage data. This affected minigzip too.
5337dd7cddfSDavid du Colombier- zlibVersion and gzerror return const char* (needed for DLL)
5347dd7cddfSDavid du Colombier- port to RISCOS (no fdopen, no multiple dots, no unlink, no fileno)
5357dd7cddfSDavid du Colombier- use z_error only for DEBUG (avoid problem with DLLs)
5367dd7cddfSDavid du Colombier
5377dd7cddfSDavid du ColombierChanges in 1.0.3 (2 Jul 96)
5387dd7cddfSDavid du Colombier- use z_streamp instead of z_stream *, which is now a far pointer in MSDOS
5397dd7cddfSDavid du Colombier  small and medium models; this makes the library incompatible with previous
5407dd7cddfSDavid du Colombier  versions for these models. (No effect in large model or on other systems.)
5417dd7cddfSDavid du Colombier- return OK instead of BUF_ERROR if previous deflate call returned with
5427dd7cddfSDavid du Colombier  avail_out as zero but there is nothing to do
5437dd7cddfSDavid du Colombier- added memcmp for non STDC compilers
5447dd7cddfSDavid du Colombier- define NO_DUMMY_DECL for more Mac compilers (.h files merged incorrectly)
5457dd7cddfSDavid du Colombier- define __32BIT__ if __386__ or i386 is defined (pb. with Watcom and SCO)
5467dd7cddfSDavid du Colombier- better check for 16-bit mode MSC (avoids problem with Symantec)
5477dd7cddfSDavid du Colombier
5487dd7cddfSDavid du ColombierChanges in 1.0.2 (23 May 96)
5497dd7cddfSDavid du Colombier- added Windows DLL support
5507dd7cddfSDavid du Colombier- added a function zlibVersion (for the DLL support)
5517dd7cddfSDavid du Colombier- fixed declarations using Bytef in infutil.c (pb with MSDOS medium model)
5527dd7cddfSDavid du Colombier- Bytef is define's instead of typedef'd only for Borland C
5537dd7cddfSDavid du Colombier- avoid reading uninitialized memory in example.c
5547dd7cddfSDavid du Colombier- mention in README that the zlib format is now RFC1950
5557dd7cddfSDavid du Colombier- updated Makefile.dj2
5567dd7cddfSDavid du Colombier- added algorithm.doc
5577dd7cddfSDavid du Colombier
5587dd7cddfSDavid du ColombierChanges in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion]
5597dd7cddfSDavid du Colombier- fix array overlay in deflate.c which sometimes caused bad compressed data
5607dd7cddfSDavid du Colombier- fix inflate bug with empty stored block
5617dd7cddfSDavid du Colombier- fix MSDOS medium model which was broken in 0.99
5627dd7cddfSDavid du Colombier- fix deflateParams() which could generated bad compressed data.
5637dd7cddfSDavid du Colombier- Bytef is define'd instead of typedef'ed (work around Borland bug)
5647dd7cddfSDavid du Colombier- added an INDEX file
5657dd7cddfSDavid du Colombier- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32),
5667dd7cddfSDavid du Colombier  Watcom (Makefile.wat), Amiga SAS/C (Makefile.sas)
5677dd7cddfSDavid du Colombier- speed up adler32 for modern machines without auto-increment
5687dd7cddfSDavid du Colombier- added -ansi for IRIX in configure
5697dd7cddfSDavid du Colombier- static_init_done in trees.c is an int
5707dd7cddfSDavid du Colombier- define unlink as delete for VMS
5717dd7cddfSDavid du Colombier- fix configure for QNX
5727dd7cddfSDavid du Colombier- add configure branch for SCO and HPUX
5737dd7cddfSDavid du Colombier- avoid many warnings (unused variables, dead assignments, etc...)
5747dd7cddfSDavid du Colombier- no fdopen for BeOS
5757dd7cddfSDavid du Colombier- fix the Watcom fix for 32 bit mode (define FAR as empty)
5767dd7cddfSDavid du Colombier- removed redefinition of Byte for MKWERKS
5777dd7cddfSDavid du Colombier- work around an MWKERKS bug (incorrect merge of all .h files)
5787dd7cddfSDavid du Colombier
5797dd7cddfSDavid du ColombierChanges in 0.99 (27 Jan 96)
5807dd7cddfSDavid du Colombier- allow preset dictionary shared between compressor and decompressor
5817dd7cddfSDavid du Colombier- allow compression level 0 (no compression)
5827dd7cddfSDavid du Colombier- add deflateParams in zlib.h: allow dynamic change of compression level
5837dd7cddfSDavid du Colombier  and compression strategy.
5847dd7cddfSDavid du Colombier- test large buffers and deflateParams in example.c
5857dd7cddfSDavid du Colombier- add optional "configure" to build zlib as a shared library
5867dd7cddfSDavid du Colombier- suppress Makefile.qnx, use configure instead
5877dd7cddfSDavid du Colombier- fixed deflate for 64-bit systems (detected on Cray)
5887dd7cddfSDavid du Colombier- fixed inflate_blocks for 64-bit systems (detected on Alpha)
5897dd7cddfSDavid du Colombier- declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2)
5907dd7cddfSDavid du Colombier- always return Z_BUF_ERROR when deflate() has nothing to do
5917dd7cddfSDavid du Colombier- deflateInit and inflateInit are now macros to allow version checking
5927dd7cddfSDavid du Colombier- prefix all global functions and types with z_ with -DZ_PREFIX
5937dd7cddfSDavid du Colombier- make falloc completely reentrant (inftrees.c)
5947dd7cddfSDavid du Colombier- fixed very unlikely race condition in ct_static_init
5957dd7cddfSDavid du Colombier- free in reverse order of allocation to help memory manager
5967dd7cddfSDavid du Colombier- use zlib-1.0/* instead of zlib/* inside the tar.gz
5977dd7cddfSDavid du Colombier- make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith
5987dd7cddfSDavid du Colombier  -Wconversion -Wstrict-prototypes -Wmissing-prototypes"
5997dd7cddfSDavid du Colombier- allow gzread on concatenated .gz files
6007dd7cddfSDavid du Colombier- deflateEnd now returns Z_DATA_ERROR if it was premature
6017dd7cddfSDavid du Colombier- deflate is finally (?) fully deterministic (no matches beyond end of input)
6027dd7cddfSDavid du Colombier- Document Z_SYNC_FLUSH
6037dd7cddfSDavid du Colombier- add uninstall in Makefile
6047dd7cddfSDavid du Colombier- Check for __cpluplus in zlib.h
6057dd7cddfSDavid du Colombier- Better test in ct_align for partial flush
6067dd7cddfSDavid du Colombier- avoid harmless warnings for Borland C++
6077dd7cddfSDavid du Colombier- initialize hash_head in deflate.c
6087dd7cddfSDavid du Colombier- avoid warning on fdopen (gzio.c) for HP cc -Aa
6097dd7cddfSDavid du Colombier- include stdlib.h for STDC compilers
6107dd7cddfSDavid du Colombier- include errno.h for Cray
6117dd7cddfSDavid du Colombier- ignore error if ranlib doesn't exist
6127dd7cddfSDavid du Colombier- call ranlib twice for NeXTSTEP
6137dd7cddfSDavid du Colombier- use exec_prefix instead of prefix for libz.a
6147dd7cddfSDavid du Colombier- renamed ct_* as _tr_* to avoid conflict with applications
6157dd7cddfSDavid du Colombier- clear z->msg in inflateInit2 before any error return
6167dd7cddfSDavid du Colombier- initialize opaque in example.c, gzio.c, deflate.c and inflate.c
6177dd7cddfSDavid du Colombier- fixed typo in zconf.h (_GNUC__ => __GNUC__)
6187dd7cddfSDavid du Colombier- check for WIN32 in zconf.h and zutil.c (avoid farmalloc in 32-bit mode)
6197dd7cddfSDavid du Colombier- fix typo in Make_vms.com (f$trnlnm -> f$getsyi)
6207dd7cddfSDavid du Colombier- in fcalloc, normalize pointer if size > 65520 bytes
6217dd7cddfSDavid du Colombier- don't use special fcalloc for 32 bit Borland C++
6227dd7cddfSDavid du Colombier- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc...
6237dd7cddfSDavid du Colombier- use Z_BINARY instead of BINARY
6247dd7cddfSDavid du Colombier- document that gzclose after gzdopen will close the file
6257dd7cddfSDavid du Colombier- allow "a" as mode in gzopen.
6267dd7cddfSDavid du Colombier- fix error checking in gzread
6277dd7cddfSDavid du Colombier- allow skipping .gz extra-field on pipes
6287dd7cddfSDavid du Colombier- added reference to Perl interface in README
6297dd7cddfSDavid du Colombier- put the crc table in FAR data (I dislike more and more the medium model :)
6307dd7cddfSDavid du Colombier- added get_crc_table
6317dd7cddfSDavid du Colombier- added a dimension to all arrays (Borland C can't count).
6327dd7cddfSDavid du Colombier- workaround Borland C bug in declaration of inflate_codes_new & inflate_fast
6337dd7cddfSDavid du Colombier- guard against multiple inclusion of *.h (for precompiled header on Mac)
6347dd7cddfSDavid du Colombier- Watcom C pretends to be Microsoft C small model even in 32 bit mode.
6357dd7cddfSDavid du Colombier- don't use unsized arrays to avoid silly warnings by Visual C++:
6367dd7cddfSDavid du Colombier     warning C4746: 'inflate_mask' : unsized array treated as  '__far'
6377dd7cddfSDavid du Colombier     (what's wrong with far data in far model?).
6387dd7cddfSDavid du Colombier- define enum out of inflate_blocks_state to allow compilation with C++
6397dd7cddfSDavid du Colombier
6407dd7cddfSDavid du ColombierChanges in 0.95 (16 Aug 95)
6417dd7cddfSDavid du Colombier- fix MSDOS small and medium model (now easier to adapt to any compiler)
6427dd7cddfSDavid du Colombier- inlined send_bits
6437dd7cddfSDavid du Colombier- fix the final (:-) bug for deflate with flush (output was correct but
6447dd7cddfSDavid du Colombier  not completely flushed in rare occasions).
6457dd7cddfSDavid du Colombier- default window size is same for compression and decompression
6467dd7cddfSDavid du Colombier  (it's now sufficient to set MAX_WBITS in zconf.h).
6477dd7cddfSDavid du Colombier- voidp -> voidpf and voidnp -> voidp (for consistency with other
6487dd7cddfSDavid du Colombier  typedefs and because voidnp was not near in large model).
6497dd7cddfSDavid du Colombier
6507dd7cddfSDavid du ColombierChanges in 0.94 (13 Aug 95)
6517dd7cddfSDavid du Colombier- support MSDOS medium model
6527dd7cddfSDavid du Colombier- fix deflate with flush (could sometimes generate bad output)
6537dd7cddfSDavid du Colombier- fix deflateReset (zlib header was incorrectly suppressed)
6547dd7cddfSDavid du Colombier- added support for VMS
6557dd7cddfSDavid du Colombier- allow a compression level in gzopen()
6567dd7cddfSDavid du Colombier- gzflush now calls fflush
6577dd7cddfSDavid du Colombier- For deflate with flush, flush even if no more input is provided.
6587dd7cddfSDavid du Colombier- rename libgz.a as libz.a
6597dd7cddfSDavid du Colombier- avoid complex expression in infcodes.c triggering Turbo C bug
6607dd7cddfSDavid du Colombier- work around a problem with gcc on Alpha (in INSERT_STRING)
6617dd7cddfSDavid du Colombier- don't use inline functions (problem with some gcc versions)
6627dd7cddfSDavid du Colombier- allow renaming of Byte, uInt, etc... with #define.
6637dd7cddfSDavid du Colombier- avoid warning about (unused) pointer before start of array in deflate.c
6647dd7cddfSDavid du Colombier- avoid various warnings in gzio.c, example.c, infblock.c, adler32.c, zutil.c
6657dd7cddfSDavid du Colombier- avoid reserved word 'new' in trees.c
6667dd7cddfSDavid du Colombier
6677dd7cddfSDavid du ColombierChanges in 0.93 (25 June 95)
6687dd7cddfSDavid du Colombier- temporarily disable inline functions
6697dd7cddfSDavid du Colombier- make deflate deterministic
6707dd7cddfSDavid du Colombier- give enough lookahead for PARTIAL_FLUSH
6717dd7cddfSDavid du Colombier- Set binary mode for stdin/stdout in minigzip.c for OS/2
6727dd7cddfSDavid du Colombier- don't even use signed char in inflate (not portable enough)
6737dd7cddfSDavid du Colombier- fix inflate memory leak for segmented architectures
6747dd7cddfSDavid du Colombier
6757dd7cddfSDavid du ColombierChanges in 0.92 (3 May 95)
6767dd7cddfSDavid du Colombier- don't assume that char is signed (problem on SGI)
6777dd7cddfSDavid du Colombier- Clear bit buffer when starting a stored block
6787dd7cddfSDavid du Colombier- no memcpy on Pyramid
6797dd7cddfSDavid du Colombier- suppressed inftest.c
6807dd7cddfSDavid du Colombier- optimized fill_window, put longest_match inline for gcc
6817dd7cddfSDavid du Colombier- optimized inflate on stored blocks.
6827dd7cddfSDavid du Colombier- untabify all sources to simplify patches
6837dd7cddfSDavid du Colombier
6847dd7cddfSDavid du ColombierChanges in 0.91 (2 May 95)
6857dd7cddfSDavid du Colombier- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h
6867dd7cddfSDavid du Colombier- Document the memory requirements in zconf.h
6877dd7cddfSDavid du Colombier- added "make install"
6887dd7cddfSDavid du Colombier- fix sync search logic in inflateSync
6897dd7cddfSDavid du Colombier- deflate(Z_FULL_FLUSH) now works even if output buffer too short
6907dd7cddfSDavid du Colombier- after inflateSync, don't scare people with just "lo world"
6917dd7cddfSDavid du Colombier- added support for DJGPP
6927dd7cddfSDavid du Colombier
6937dd7cddfSDavid du ColombierChanges in 0.9 (1 May 95)
6947dd7cddfSDavid du Colombier- don't assume that zalloc clears the allocated memory (the TurboC bug
6957dd7cddfSDavid du Colombier  was Mark's bug after all :)
6967dd7cddfSDavid du Colombier- let again gzread copy uncompressed data unchanged (was working in 0.71)
6977dd7cddfSDavid du Colombier- deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented
6987dd7cddfSDavid du Colombier- added a test of inflateSync in example.c
6997dd7cddfSDavid du Colombier- moved MAX_WBITS to zconf.h because users might want to change that.
7007dd7cddfSDavid du Colombier- document explicitly that zalloc(64K) on MSDOS must return a normalized
7017dd7cddfSDavid du Colombier  pointer (zero offset)
7027dd7cddfSDavid du Colombier- added Makefiles for Microsoft C, Turbo C, Borland C++
7037dd7cddfSDavid du Colombier- faster crc32()
7047dd7cddfSDavid du Colombier
7057dd7cddfSDavid du ColombierChanges in 0.8 (29 April 95)
7067dd7cddfSDavid du Colombier- added fast inflate (inffast.c)
7077dd7cddfSDavid du Colombier- deflate(Z_FINISH) now returns Z_STREAM_END when done. Warning: this
7087dd7cddfSDavid du Colombier  is incompatible with previous versions of zlib which returned Z_OK.
7097dd7cddfSDavid du Colombier- work around a TurboC compiler bug (bad code for b << 0, see infutil.h)
7107dd7cddfSDavid du Colombier  (actually that was not a compiler bug, see 0.81 above)
7117dd7cddfSDavid du Colombier- gzread no longer reads one extra byte in certain cases
7127dd7cddfSDavid du Colombier- In gzio destroy(), don't reference a freed structure
7137dd7cddfSDavid du Colombier- avoid many warnings for MSDOS
7147dd7cddfSDavid du Colombier- avoid the ERROR symbol which is used by MS Windows
7157dd7cddfSDavid du Colombier
7167dd7cddfSDavid du ColombierChanges in 0.71 (14 April 95)
7177dd7cddfSDavid du Colombier- Fixed more MSDOS compilation problems :( There is still a bug with
7187dd7cddfSDavid du Colombier  TurboC large model.
7197dd7cddfSDavid du Colombier
7207dd7cddfSDavid du ColombierChanges in 0.7 (14 April 95)
7217dd7cddfSDavid du Colombier- Added full inflate support.
7227dd7cddfSDavid du Colombier- Simplified the crc32() interface. The pre- and post-conditioning
7237dd7cddfSDavid du Colombier  (one's complement) is now done inside crc32(). WARNING: this is
7247dd7cddfSDavid du Colombier  incompatible with previous versions; see zlib.h for the new usage.
7257dd7cddfSDavid du Colombier
7267dd7cddfSDavid du ColombierChanges in 0.61 (12 April 95)
7277dd7cddfSDavid du Colombier- workaround for a bug in TurboC. example and minigzip now work on MSDOS.
7287dd7cddfSDavid du Colombier
7297dd7cddfSDavid du ColombierChanges in 0.6 (11 April 95)
7307dd7cddfSDavid du Colombier- added minigzip.c
7317dd7cddfSDavid du Colombier- added gzdopen to reopen a file descriptor as gzFile
7327dd7cddfSDavid du Colombier- added transparent reading of non-gziped files in gzread.
7337dd7cddfSDavid du Colombier- fixed bug in gzread (don't read crc as data)
7347dd7cddfSDavid du Colombier- fixed bug in destroy (gzio.c) (don't return Z_STREAM_END for gzclose).
7357dd7cddfSDavid du Colombier- don't allocate big arrays in the stack (for MSDOS)
7367dd7cddfSDavid du Colombier- fix some MSDOS compilation problems
7377dd7cddfSDavid du Colombier
7387dd7cddfSDavid du ColombierChanges in 0.5:
7397dd7cddfSDavid du Colombier- do real compression in deflate.c. Z_PARTIAL_FLUSH is supported but
7407dd7cddfSDavid du Colombier  not yet Z_FULL_FLUSH.
7417dd7cddfSDavid du Colombier- support decompression but only in a single step (forced Z_FINISH)
7427dd7cddfSDavid du Colombier- added opaque object for zalloc and zfree.
7437dd7cddfSDavid du Colombier- added deflateReset and inflateReset
7447dd7cddfSDavid du Colombier- added a variable zlib_version for consistency checking.
7457dd7cddfSDavid du Colombier- renamed the 'filter' parameter of deflateInit2 as 'strategy'.
7467dd7cddfSDavid du Colombier  Added Z_FILTERED and Z_HUFFMAN_ONLY constants.
7477dd7cddfSDavid du Colombier
7487dd7cddfSDavid du ColombierChanges in 0.4:
7497dd7cddfSDavid du Colombier- avoid "zip" everywhere, use zlib instead of ziplib.
7507dd7cddfSDavid du Colombier- suppress Z_BLOCK_FLUSH, interpret Z_PARTIAL_FLUSH as block flush
7517dd7cddfSDavid du Colombier  if compression method == 8.
7527dd7cddfSDavid du Colombier- added adler32 and crc32
7537dd7cddfSDavid du Colombier- renamed deflateOptions as deflateInit2, call one or the other but not both
7547dd7cddfSDavid du Colombier- added the method parameter for deflateInit2.
7557dd7cddfSDavid du Colombier- added inflateInit2
7567dd7cddfSDavid du Colombier- simplied considerably deflateInit and inflateInit by not supporting
7577dd7cddfSDavid du Colombier  user-provided history buffer. This is supported only in deflateInit2
7587dd7cddfSDavid du Colombier  and inflateInit2.
7597dd7cddfSDavid du Colombier
7607dd7cddfSDavid du ColombierChanges in 0.3:
7617dd7cddfSDavid du Colombier- prefix all macro names with Z_
7627dd7cddfSDavid du Colombier- use Z_FINISH instead of deflateEnd to finish compression.
7637dd7cddfSDavid du Colombier- added Z_HUFFMAN_ONLY
7647dd7cddfSDavid du Colombier- added gzerror()
765