|
|
|
|
|
ChangeLog file for zlib |
|
|
Changes in 1.2.0 (9 March 2003) |
|
|
- New and improved inflate code |
|
|
- About 20% faster |
|
|
- Does not allocate 32K window unless and until needed |
|
|
- Automatically detects and decompresses gzip streams |
|
|
- Raw inflate no longer needs an extra dummy byte at end |
|
|
- Added inflateBack functions using a callback interface--even faster |
|
|
than inflate, useful for file utilities (gzip, zip) |
|
|
- Added inflateCopy() function to record state for random access on |
|
|
externally generated deflate streams (e.g. in gzip files) |
|
|
- More readable code (I hope) |
|
|
- New and improved crc32() |
|
|
- About 50% faster, thanks to suggestions from Rodney Brown |
|
|
- Add deflateBound() and compressBound() functions |
|
|
- Fix memory leak in deflateInit2() |
|
|
- Permit setting dictionary for raw deflate (for parallel deflate) |
|
|
- Fix const declaration for gzwrite() |
|
|
- Check for some malloc() failures in gzio.c |
|
|
- Fix bug in gzopen() on single-byte file 0x1f |
|
|
- Fix bug in gzread() on concatenated file with 0x1f at end of buffer |
|
|
and next buffer doesn't start with 0x8b |
|
|
- Fix uncompress() to return Z_DATA_ERROR on truncated input |
|
|
- Free memory at end of example.c |
|
|
- Remove MAX #define in trees.c (conflicted with some libraries) |
|
|
- Fix static const's in deflate.c, gzio.c, and zutil.[ch] |
|
|
- Declare malloc() and free() in gzio.c if STDC not defined |
|
|
- Use malloc() instead of calloc() in zutil.c if int big enough |
|
|
- Define STDC for AIX |
|
|
- Add aix/ with approach for compiling shared library on AIX |
|
|
- Add HP-UX support for shared libraries in configure |
|
|
- Add OpenUNIX support for shared libraries in configure |
|
|
- Use $cc instead of gcc to build shared library |
|
|
- Make prefix directory if needed when installing |
|
|
- Correct Macintosh avoidance of typedef Byte in zconf.h |
|
|
- Correct Turbo C memory allocation when under Linux |
|
|
- Use libz.a instead of -lz in Makefile (assure use of compiled library) |
|
|
- Update configure to check for snprintf or vsnprintf functions and their |
|
|
return value, warn during make if using an insecure function |
|
|
- Fix configure problem with compile-time knowledge of HAVE_UNISTD_H that |
|
|
is lost when library is used--resolution is to build new zconf.h |
|
|
- Documentation improvements (in zlib.h): |
|
|
- Document raw deflate and inflate |
|
|
- Update RFCs URL |
|
|
- Point out that zlib and gzip formats are different |
|
|
- Note that Z_BUF_ERROR is not fatal |
|
|
- Document string limit for gzprintf() and possible buffer overflow |
|
|
- Note requirement on avail_out when flushing |
|
|
- Note permitted values of flush parameter of inflate() |
|
|
- Add some FAQs (and even answers) to the FAQ |
|
|
- Add contrib/inflate86/ for x86 faster inflate |
|
|
- Add contrib/blast/ for PKWare Data Compression Library decompression |
|
|
- Add contrib/puff/ simple inflate for deflate format description |
|
|
|
|
|
Changes in 1.1.4 (11 March 2002) |
|
|
- ZFREE was repeated on same allocation on some error conditions. |
|
|
This creates a security problem described in |
|
|
http://www.zlib.org/advisory-2002-03-11.txt |
|
|
- Returned incorrect error (Z_MEM_ERROR) on some invalid data |
|
|
- Avoid accesses before window for invalid distances with inflate window |
|
|
less than 32K. |
|
|
- force windowBits > 8 to avoid a bug in the encoder for a window size |
|
|
of 256 bytes. (A complete fix will be available in 1.1.5). |
|
|
|
|
|
Changes in 1.1.3 (9 July 1998) |
|
|
- fix "an inflate input buffer bug that shows up on rare but persistent |
|
|
occasions" (Mark) |
|
|
- fix gzread and gztell for concatenated .gz files (Didier Le Botlan) |
|
|
- fix gzseek(..., SEEK_SET) in write mode |
|
|
- fix crc check after a gzeek (Frank Faubert) |
|
|
- fix miniunzip when the last entry in a zip file is itself a zip file |
|
|
(J Lillge) |
|
|
- add contrib/asm586 and contrib/asm686 (Brian Raiter) |
|
|
See http://www.muppetlabs.com/~breadbox/software/assembly.html |
|
|
- add support for Delphi 3 in contrib/delphi (Bob Dellaca) |
|
|
- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti) |
|
|
- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren) |
|
|
- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks) |
|
|
- added a FAQ file |
|
|
|
|
|
- Support gzdopen on Mac with Metrowerks (Jason Linhart) |
|
|
- Do not redefine Byte on Mac (Brad Pettit & Jason Linhart) |
|
|
- define SEEK_END too if SEEK_SET is not defined (Albert Chin-A-Young) |
|
|
- avoid some warnings with Borland C (Tom Tanner) |
|
|
- fix a problem in contrib/minizip/zip.c for 16-bit MSDOS (Gilles Vollant) |
|
|
- emulate utime() for WIN32 in contrib/untgz (Gilles Vollant) |
|
|
- allow several arguments to configure (Tim Mooney, Frodo Looijaard) |
|
|
- use libdir and includedir in Makefile.in (Tim Mooney) |
|
|
- support shared libraries on OSF1 V4 (Tim Mooney) |
|
|
- remove so_locations in "make clean" (Tim Mooney) |
|
|
- fix maketree.c compilation error (Glenn, Mark) |
|
|
- Python interface to zlib now in Python 1.5 (Jeremy Hylton) |
|
|
- new Makefile.riscos (Rich Walker) |
|
|
- initialize static descriptors in trees.c for embedded targets (Nick Smith) |
|
|
- use "foo-gz" in example.c for RISCOS and VMS (Nick Smith) |
|
|
- add the OS/2 files in Makefile.in too (Andrew Zabolotny) |
|
|
- fix fdopen and halloc macros for Microsoft C 6.0 (Tom Lane) |
|
|
- fix maketree.c to allow clean compilation of inffixed.h (Mark) |
|
|
- fix parameter check in deflateCopy (Gunther Nikl) |
|
|
- cleanup trees.c, use compressed_len only in debug mode (Christian Spieler) |
|
|
- Many portability patches by Christian Spieler: |
|
|
. zutil.c, zutil.h: added "const" for zmem* |
|
|
. Make_vms.com: fixed some typos |
|
|
. Make_vms.com: msdos/Makefile.*: removed zutil.h from some dependency lists |
|
|
. msdos/Makefile.msc: remove "default rtl link library" info from obj files |
|
|
. msdos/Makefile.*: use model-dependent name for the built zlib library |
|
|
. msdos/Makefile.emx, nt/Makefile.emx, nt/Makefile.gcc: |
|
|
new makefiles, for emx (DOS/OS2), emx&rsxnt and mingw32 (Windows 9x / NT) |
|
|
- use define instead of typedef for Bytef also for MSC small/medium (Tom Lane) |
|
|
- replace __far with _far for better portability (Christian Spieler, Tom Lane) |
|
|
- fix test for errno.h in configure (Tim Newsham) |
|
|
|
|
|
Changes in 1.1.2 (19 March 98) |
|
|
- added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant) |
|
|
See http://www.winimage.com/zLibDll/unzip.html |
|
|
- preinitialize the inflate tables for fixed codes, to make the code |
|
|
completely thread safe (Mark) |
|
|
- some simplifications and slight speed-up to the inflate code (Mark) |
|
|
- fix gzeof on non-compressed files (Allan Schrum) |
|
|
- add -std1 option in configure for OSF1 to fix gzprintf (Martin Mokrejs) |
|
|
- use default value of 4K for Z_BUFSIZE for 16-bit MSDOS (Tim Wegner + Glenn) |
|
|
- added os2/Makefile.def and os2/zlib.def (Andrew Zabolotny) |
|
|
- add shared lib support for UNIX_SV4.2MP (MATSUURA Takanori) |
|
|
- do not wrap extern "C" around system includes (Tom Lane) |
|
|
- mention zlib binding for TCL in README (Andreas Kupries) |
|
|
- added amiga/Makefile.pup for Amiga powerUP SAS/C PPC (Andreas Kleinert) |
|
|
- allow "make install prefix=..." even after configure (Glenn Randers-Pehrson) |
|
|
- allow "configure --prefix $HOME" (Tim Mooney) |
|
|
- remove warnings in example.c and gzio.c (Glenn Randers-Pehrson) |
|
|
- move Makefile.sas to amiga/Makefile.sas |
|
|
|
|
|
Changes in 1.1.1 (27 Feb 98) |
|
|
- fix macros _tr_tally_* in deflate.h for debug mode (Glenn Randers-Pehrson) |
|
|
- remove block truncation heuristic which had very marginal effect for zlib |
|
|
(smaller lit_bufsize than in gzip 1.2.4) and degraded a little the |
|
|
compression ratio on some files. This also allows inlining _tr_tally for |
|
|
matches in deflate_slow. |
|
|
- added msdos/Makefile.w32 for WIN32 Microsoft Visual C++ (Bob Frazier) |
|
|
|
|
|
Changes in 1.1.0 (24 Feb 98) |
|
|
- do not return STREAM_END prematurely in inflate (John Bowler) |
|
|
- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler) |
|
|
- compile with -DFASTEST to get compression code optimized for speed only |
|
|
- in minigzip, try mmap'ing the input file first (Miguel Albrecht) |
|
|
- increase size of I/O buffers in minigzip.c and gzio.c (not a big gain |
|
|
on Sun but significant on HP) |
|
|
|
|
|
- add a pointer to experimental unzip library in README (Gilles Vollant) |
|
|
- initialize variable gcc in configure (Chris Herborth) |
|
|
|
|
|
Changes in 1.0.9 (17 Feb 1998) |
|
|
- added gzputs and gzgets functions |
|
|
- do not clear eof flag in gzseek (Mark Diekhans) |
|
|
- fix gzseek for files in transparent mode (Mark Diekhans) |
|
|
- do not assume that vsprintf returns the number of bytes written (Jens Krinke) |
|
|
- replace EXPORT with ZEXPORT to avoid conflict with other programs |
|
|
- added compress2 in zconf.h, zlib.def, zlib.dnt |
|
|
- new asm code from Gilles Vollant in contrib/asm386 |
|
|
- simplify the inflate code (Mark): |
|
|
. Replace ZALLOC's in huft_build() with single ZALLOC in inflate_blocks_new() |
|
|
. ZALLOC the length list in inflate_trees_fixed() instead of using stack |
|
|
. ZALLOC the value area for huft_build() instead of using stack |
|
|
. Simplify Z_FINISH check in inflate() |
|
|
|
|
|
- Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8 |
|
|
- in inftrees.c, avoid cc -O bug on HP (Farshid Elahi) |
|
|
- in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with |
|
|
the declaration of FAR (Gilles VOllant) |
|
|
- install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann) |
|
|
- read_buf buf parameter of type Bytef* instead of charf* |
|
|
- zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout) |
|
|
- do not redeclare unlink in minigzip.c for WIN32 (John Bowler) |
|
|
- fix check for presence of directories in "make install" (Ian Willis) |
|
|
|
|
|
Changes in 1.0.8 (27 Jan 1998) |
|
|
- fixed offsets in contrib/asm386/gvmat32.asm (Gilles Vollant) |
|
|
- fix gzgetc and gzputc for big endian systems (Markus Oberhumer) |
|
|
- added compress2() to allow setting the compression level |
|
|
- include sys/types.h to get off_t on some systems (Marc Lehmann & QingLong) |
|
|
- use constant arrays for the static trees in trees.c instead of computing |
|
|
them at run time (thanks to Ken Raeburn for this suggestion). To create |
|
|
trees.h, compile with GEN_TREES_H and run "make test". |
|
|
- check return code of example in "make test" and display result |
|
|
- pass minigzip command line options to file_compress |
|
|
- simplifying code of inflateSync to avoid gcc 2.8 bug |
|
|
|
|
|
- support CC="gcc -Wall" in configure -s (QingLong) |
|
|
- avoid a flush caused by ftell in gzopen for write mode (Ken Raeburn) |
|
|
- fix test for shared library support to avoid compiler warnings |
|
|
- zlib.lib -> zlib.dll in msdos/zlib.rc (Gilles Vollant) |
|
|
- check for TARGET_OS_MAC in addition to MACOS (Brad Pettit) |
|
|
- do not use fdopen for Metrowerks on Mac (Brad Pettit)) |
|
|
- add checks for gzputc and gzputc in example.c |
|
|
- avoid warnings in gzio.c and deflate.c (Andreas Kleinert) |
|
|
- use const for the CRC table (Ken Raeburn) |
|
|
- fixed "make uninstall" for shared libraries |
|
|
- use Tracev instead of Trace in infblock.c |
|
|
- in example.c use correct compressed length for test_sync |
|
|
- suppress +vnocompatwarnings in configure for HPUX (not always supported) |
|
|
|
|
|
Changes in 1.0.7 (20 Jan 1998) |
|
|
- fix gzseek which was broken in write mode |
|
|
- return error for gzseek to negative absolute position |
|
|
- fix configure for Linux (Chun-Chung Chen) |
|
|
- increase stack space for MSC (Tim Wegner) |
|
|
- get_crc_table and inflateSyncPoint are EXPORTed (Gilles Vollant) |
|
|
- define EXPORTVA for gzprintf (Gilles Vollant) |
|
|
- added man page zlib.3 (Rick Rodgers) |
|
|
- for contrib/untgz, fix makedir() and improve Makefile |
|
|
|
|
|
- check gzseek in write mode in example.c |
|
|
- allocate extra buffer for seeks only if gzseek is actually called |
|
|
- avoid signed/unsigned comparisons (Tim Wegner, Gilles Vollant) |
|
|
- add inflateSyncPoint in zconf.h |
|
|
- fix list of exported functions in nt/zlib.dnt and mdsos/zlib.def |
|
|
|
|
|
Changes in 1.0.6 (19 Jan 1998) |
|
|
- add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and |
|
|
gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code) |
|
|
- Fix a deflate bug occuring only with compression level 0 (thanks to |
|
|
Andy Buckler for finding this one). |
|
|
- In minigzip, pass transparently also the first byte for .Z files. |
|
|
- return Z_BUF_ERROR instead of Z_OK if output buffer full in uncompress() |
|
|
- check Z_FINISH in inflate (thanks to Marc Schluper) |
|
|
- Implement deflateCopy (thanks to Adam Costello) |
|
|
- make static libraries by default in configure, add --shared option. |
|
|
- move MSDOS or Windows specific files to directory msdos |
|
|
- suppress the notion of partial flush to simplify the interface |
|
|
(but the symbol Z_PARTIAL_FLUSH is kept for compatibility with 1.0.4) |
|
|
- suppress history buffer provided by application to simplify the interface |
|
|
(this feature was not implemented anyway in 1.0.4) |
|
|
- next_in and avail_in must be initialized before calling inflateInit or |
|
|
inflateInit2 |
|
|
- add EXPORT in all exported functions (for Windows DLL) |
|
|
- added Makefile.nt (thanks to Stephen Williams) |
|
|
- added the unsupported "contrib" directory: |
|
|
contrib/asm386/ by Gilles Vollant <info@winimage.com> |
|
|
386 asm code replacing longest_match(). |
|
|
contrib/iostream/ by Kevin Ruland <kevin@rodin.wustl.edu> |
|
|
A C++ I/O streams interface to the zlib gz* functions |
|
|
contrib/iostream2/ by Tyge L<EFBFBD>vset <Tyge.Lovset@cmr.no> |
|
|
Another C++ I/O streams interface |
|
|
contrib/untgz/ by "Pedro A. Aranda Guti\irrez" <paag@tid.es> |
|
|
A very simple tar.gz file extractor using zlib |
|
|
contrib/visual-basic.txt by Carlos Rios <c_rios@sonda.cl> |
|
|
How to use compress(), uncompress() and the gz* functions from VB. |
|
|
- pass params -f (filtered data), -h (huffman only), -1 to -9 (compression |
|
|
level) in minigzip (thanks to Tom Lane) |
|
|
|
|
|
- use const for rommable constants in deflate |
|
|
- added test for gzseek and gztell in example.c |
|
|
- add undocumented function inflateSyncPoint() (hack for Paul Mackerras) |
|
|
- add undocumented function zError to convert error code to string |
|
|
(for Tim Smithers) |
|
|
- Allow compilation of gzio with -DNO_DEFLATE to avoid the compression code. |
|
|
- Use default memcpy for Symantec MSDOS compiler. |
|
|
- Add EXPORT keyword for check_func (needed for Windows DLL) |
|
|
- add current directory to LD_LIBRARY_PATH for "make test" |
|
|
- create also a link for libz.so.1 |
|
|
- added support for FUJITSU UXP/DS (thanks to Toshiaki Nomura) |
|
|
- use $(SHAREDLIB) instead of libz.so in Makefile.in (for HPUX) |
|
|
- added -soname for Linux in configure (Chun-Chung Chen, |
|
|
- assign numbers to the exported functions in zlib.def (for Windows DLL) |
|
|
- add advice in zlib.h for best usage of deflateSetDictionary |
|
|
- work around compiler bug on Atari (cast Z_NULL in call of s->checkfn) |
|
|
- allow compilation with ANSI keywords only enabled for TurboC in large model |
|
|
- avoid "versionString"[0] (Borland bug) |
|
|
- add NEED_DUMMY_RETURN for Borland |
|
|
- use variable z_verbose for tracing in debug mode (L. Peter Deutsch). |
|
|
- allow compilation with CC |
|
|
- defined STDC for OS/2 (David Charlap) |
|
|
- limit external names to 8 chars for MVS (Thomas Lund) |
|
|
- in minigzip.c, use static buffers only for 16-bit systems |
|
|
- fix suffix check for "minigzip -d foo.gz" |
|
|
- do not return an error for the 2nd of two consecutive gzflush() (Felix Lee) |
|
|
- use _fdopen instead of fdopen for MSC >= 6.0 (Thomas Fanslau) |
|
|
- added makelcc.bat for lcc-win32 (Tom St Denis) |
|
|
- in Makefile.dj2, use copy and del instead of install and rm (Frank Donahoe) |
|
|
- Avoid expanded $Id$. Use "rcs -kb" or "cvs admin -kb" to avoid Id expansion. |
|
|
- check for unistd.h in configure (for off_t) |
|
|
- remove useless check parameter in inflate_blocks_free |
|
|
- avoid useless assignment of s->check to itself in inflate_blocks_new |
|
|
- do not flush twice in gzclose (thanks to Ken Raeburn) |
|
|
- rename FOPEN as F_OPEN to avoid clash with /usr/include/sys/file.h |
|
|
- use NO_ERRNO_H instead of enumeration of operating systems with errno.h |
|
|
- work around buggy fclose on pipes for HP/UX |
|
|
- support zlib DLL with BORLAND C++ 5.0 (thanks to Glenn Randers-Pehrson) |
|
|
- fix configure if CC is already equal to gcc |
|
|
|
|
|
Changes in 1.0.5 (3 Jan 98) |
|
|
- Fix inflate to terminate gracefully when fed corrupted or invalid data |
|
|
- Use const for rommable constants in inflate |
|
|
- Eliminate memory leaks on error conditions in inflate |
|
|
- Removed some vestigial code in inflate |
|
|
- Update web address in README |
|
|
|
|
|
Changes in 1.0.4 (24 Jul 96) |
|
|
- In very rare conditions, deflate(s, Z_FINISH) could fail to produce an EOF |
|
|
bit, so the decompressor could decompress all the correct data but went |
|
|
on to attempt decompressing extra garbage data. This affected minigzip too. |
|
|
- zlibVersion and gzerror return const char* (needed for DLL) |
|
|
- port to RISCOS (no fdopen, no multiple dots, no unlink, no fileno) |
|
|
- use z_error only for DEBUG (avoid problem with DLLs) |
|
|
|
|
|
Changes in 1.0.3 (2 Jul 96) |
|
|
- use z_streamp instead of z_stream *, which is now a far pointer in MSDOS |
|
|
small and medium models; this makes the library incompatible with previous |
|
|
versions for these models. (No effect in large model or on other systems.) |
|
|
- return OK instead of BUF_ERROR if previous deflate call returned with |
|
|
avail_out as zero but there is nothing to do |
|
|
- added memcmp for non STDC compilers |
|
|
- define NO_DUMMY_DECL for more Mac compilers (.h files merged incorrectly) |
|
|
- define __32BIT__ if __386__ or i386 is defined (pb. with Watcom and SCO) |
|
|
- better check for 16-bit mode MSC (avoids problem with Symantec) |
|
|
|
|
|
Changes in 1.0.2 (23 May 96) |
|
|
- added Windows DLL support |
|
|
- added a function zlibVersion (for the DLL support) |
|
|
- fixed declarations using Bytef in infutil.c (pb with MSDOS medium model) |
|
|
- Bytef is define's instead of typedef'd only for Borland C |
|
|
- avoid reading uninitialized memory in example.c |
|
|
- mention in README that the zlib format is now RFC1950 |
|
|
- updated Makefile.dj2 |
|
|
- added algorithm.doc |
|
|
|
|
|
Changes in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion] |
|
|
- fix array overlay in deflate.c which sometimes caused bad compressed data |
|
|
- fix inflate bug with empty stored block |
|
|
- fix MSDOS medium model which was broken in 0.99 |
|
|
- fix deflateParams() which could generated bad compressed data. |
|
|
- Bytef is define'd instead of typedef'ed (work around Borland bug) |
|
|
- added an INDEX file |
|
|
- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32), |
|
|
Watcom (Makefile.wat), Amiga SAS/C (Makefile.sas) |
|
|
- speed up adler32 for modern machines without auto-increment |
|
|
- added -ansi for IRIX in configure |
|
|
- static_init_done in trees.c is an int |
|
|
- define unlink as delete for VMS |
|
|
- fix configure for QNX |
|
|
- add configure branch for SCO and HPUX |
|
|
- avoid many warnings (unused variables, dead assignments, etc...) |
|
|
- no fdopen for BeOS |
|
|
- fix the Watcom fix for 32 bit mode (define FAR as empty) |
|
|
- removed redefinition of Byte for MKWERKS |
|
|
- work around an MWKERKS bug (incorrect merge of all .h files) |
|
|
|
|
|
Changes in 0.99 (27 Jan 96) |
|
|
- allow preset dictionary shared between compressor and decompressor |
|
|
- allow compression level 0 (no compression) |
|
|
- add deflateParams in zlib.h: allow dynamic change of compression level |
|
|
and compression strategy. |
|
|
- test large buffers and deflateParams in example.c |
|
|
- add optional "configure" to build zlib as a shared library |
|
|
- suppress Makefile.qnx, use configure instead |
|
|
- fixed deflate for 64-bit systems (detected on Cray) |
|
|
- fixed inflate_blocks for 64-bit systems (detected on Alpha) |
|
|
- declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2) |
|
|
- always return Z_BUF_ERROR when deflate() has nothing to do |
|
|
- deflateInit and inflateInit are now macros to allow version checking |
|
|
- prefix all global functions and types with z_ with -DZ_PREFIX |
|
|
- make falloc completely reentrant (inftrees.c) |
|
|
- fixed very unlikely race condition in ct_static_init |
|
|
- free in reverse order of allocation to help memory manager |
|
|
- use zlib-1.0/* instead of zlib/* inside the tar.gz |
|
|
- make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith |
|
|
-Wconversion -Wstrict-prototypes -Wmissing-prototypes" |
|
|
- allow gzread on concatenated .gz files |
|
|
- deflateEnd now returns Z_DATA_ERROR if it was premature |
|
|
- deflate is finally (?) fully deterministic (no matches beyond end of input) |
|
|
- Document Z_SYNC_FLUSH |
|
|
- add uninstall in Makefile |
|
|
- Check for __cpluplus in zlib.h |
|
|
- Better test in ct_align for partial flush |
|
|
- avoid harmless warnings for Borland C++ |
|
|
- initialize hash_head in deflate.c |
|
|
- avoid warning on fdopen (gzio.c) for HP cc -Aa |
|
|
- include stdlib.h for STDC compilers |
|
|
- include errno.h for Cray |
|
|
- ignore error if ranlib doesn't exist |
|
|
- call ranlib twice for NeXTSTEP |
|
|
- use exec_prefix instead of prefix for libz.a |
|
|
- renamed ct_* as _tr_* to avoid conflict with applications |
|
|
- clear z->msg in inflateInit2 before any error return |
|
|
- initialize opaque in example.c, gzio.c, deflate.c and inflate.c |
|
|
- fixed typo in zconf.h (_GNUC__ => __GNUC__) |
|
|
- check for WIN32 in zconf.h and zutil.c (avoid farmalloc in 32-bit mode) |
|
|
- fix typo in Make_vms.com (f$trnlnm -> f$getsyi) |
|
|
- in fcalloc, normalize pointer if size > 65520 bytes |
|
|
- don't use special fcalloc for 32 bit Borland C++ |
|
|
- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc... |
|
|
- use Z_BINARY instead of BINARY |
|
|
- document that gzclose after gzdopen will close the file |
|
|
- allow "a" as mode in gzopen. |
|
|
- fix error checking in gzread |
|
|
- allow skipping .gz extra-field on pipes |
|
|
- added reference to Perl interface in README |
|
|
- put the crc table in FAR data (I dislike more and more the medium model :) |
|
|
- added get_crc_table |
|
|
- added a dimension to all arrays (Borland C can't count). |
|
|
- workaround Borland C bug in declaration of inflate_codes_new & inflate_fast |
|
|
- guard against multiple inclusion of *.h (for precompiled header on Mac) |
|
|
- Watcom C pretends to be Microsoft C small model even in 32 bit mode. |
|
|
- don't use unsized arrays to avoid silly warnings by Visual C++: |
|
|
warning C4746: 'inflate_mask' : unsized array treated as '__far' |
|
|
(what's wrong with far data in far model?). |
|
|
- define enum out of inflate_blocks_state to allow compilation with C++ |
|
|
|
|
|
Changes in 0.95 (16 Aug 95) |
|
|
- fix MSDOS small and medium model (now easier to adapt to any compiler) |
|
|
- inlined send_bits |
|
|
- fix the final (:-) bug for deflate with flush (output was correct but |
|
|
not completely flushed in rare occasions). |
|
|
- default window size is same for compression and decompression |
|
|
(it's now sufficient to set MAX_WBITS in zconf.h). |
|
|
- voidp -> voidpf and voidnp -> voidp (for consistency with other |
|
|
typedefs and because voidnp was not near in large model). |
|
|
|
|
|
Changes in 0.94 (13 Aug 95) |
|
|
- support MSDOS medium model |
|
|
- fix deflate with flush (could sometimes generate bad output) |
|
|
- fix deflateReset (zlib header was incorrectly suppressed) |
|
|
- added support for VMS |
|
|
- allow a compression level in gzopen() |
|
|
- gzflush now calls fflush |
|
|
- For deflate with flush, flush even if no more input is provided. |
|
|
- rename libgz.a as libz.a |
|
|
- avoid complex expression in infcodes.c triggering Turbo C bug |
|
|
- work around a problem with gcc on Alpha (in INSERT_STRING) |
|
|
- don't use inline functions (problem with some gcc versions) |
|
|
- allow renaming of Byte, uInt, etc... with #define. |
|
|
- avoid warning about (unused) pointer before start of array in deflate.c |
|
|
- avoid various warnings in gzio.c, example.c, infblock.c, adler32.c, zutil.c |
|
|
- avoid reserved word 'new' in trees.c |
|
|
|
|
|
Changes in 0.93 (25 June 95) |
|
|
- temporarily disable inline functions |
|
|
- make deflate deterministic |
|
|
- give enough lookahead for PARTIAL_FLUSH |
|
|
- Set binary mode for stdin/stdout in minigzip.c for OS/2 |
|
|
- don't even use signed char in inflate (not portable enough) |
|
|
- fix inflate memory leak for segmented architectures |
|
|
|
|
|
Changes in 0.92 (3 May 95) |
|
|
- don't assume that char is signed (problem on SGI) |
|
|
- Clear bit buffer when starting a stored block |
|
|
- no memcpy on Pyramid |
|
|
- suppressed inftest.c |
|
|
- optimized fill_window, put longest_match inline for gcc |
|
|
- optimized inflate on stored blocks. |
|
|
- untabify all sources to simplify patches |
|
|
|
|
|
Changes in 0.91 (2 May 95) |
|
|
- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h |
|
|
- Document the memory requirements in zconf.h |
|
|
- added "make install" |
|
|
- fix sync search logic in inflateSync |
|
|
- deflate(Z_FULL_FLUSH) now works even if output buffer too short |
|
|
- after inflateSync, don't scare people with just "lo world" |
|
|
- added support for DJGPP |
|
|
|
|
|
Changes in 0.9 (1 May 95) |
|
|
- don't assume that zalloc clears the allocated memory (the TurboC bug |
|
|
was Mark's bug after all :) |
|
|
- let again gzread copy uncompressed data unchanged (was working in 0.71) |
|
|
- deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented |
|
|
- added a test of inflateSync in example.c |
|
|
- moved MAX_WBITS to zconf.h because users might want to change that. |
|
|
- document explicitly that zalloc(64K) on MSDOS must return a normalized |
|
|
pointer (zero offset) |
|
|
- added Makefiles for Microsoft C, Turbo C, Borland C++ |
|
|
- faster crc32() |
|
|
|
|
|
Changes in 0.8 (29 April 95) |
|
|
- added fast inflate (inffast.c) |
|
|
- deflate(Z_FINISH) now returns Z_STREAM_END when done. Warning: this |
|
|
is incompatible with previous versions of zlib which returned Z_OK. |
|
|
- work around a TurboC compiler bug (bad code for b << 0, see infutil.h) |
|
|
(actually that was not a compiler bug, see 0.81 above) |
|
|
- gzread no longer reads one extra byte in certain cases |
|
|
- In gzio destroy(), don't reference a freed structure |
|
|
- avoid many warnings for MSDOS |
|
|
- avoid the ERROR symbol which is used by MS Windows |
|
|
|
|
|
Changes in 0.71 (14 April 95) |
|
|
- Fixed more MSDOS compilation problems :( There is still a bug with |
|
|
TurboC large model. |
|
|
|
|
|
Changes in 0.7 (14 April 95) |
|
|
- Added full inflate support. |
|
|
- Simplified the crc32() interface. The pre- and post-conditioning |
|
|
(one's complement) is now done inside crc32(). WARNING: this is |
|
|
incompatible with previous versions; see zlib.h for the new usage. |
|
|
|
|
|
Changes in 0.61 (12 April 95) |
|
|
- workaround for a bug in TurboC. example and minigzip now work on MSDOS. |
|
|
|
|
|
Changes in 0.6 (11 April 95) |
|
|
- added minigzip.c |
|
|
- added gzdopen to reopen a file descriptor as gzFile |
|
|
- added transparent reading of non-gziped files in gzread. |
|
|
- fixed bug in gzread (don't read crc as data) |
|
|
- fixed bug in destroy (gzio.c) (don't return Z_STREAM_END for gzclose). |
|
|
- don't allocate big arrays in the stack (for MSDOS) |
|
|
- fix some MSDOS compilation problems |
|
|
|
|
|
Changes in 0.5: |
|
|
- do real compression in deflate.c. Z_PARTIAL_FLUSH is supported but |
|
|
not yet Z_FULL_FLUSH. |
|
|
- support decompression but only in a single step (forced Z_FINISH) |
|
|
- added opaque object for zalloc and zfree. |
|
|
- added deflateReset and inflateReset |
|
|
- added a variable zlib_version for consistency checking. |
|
|
- renamed the 'filter' parameter of deflateInit2 as 'strategy'. |
|
|
Added Z_FILTERED and Z_HUFFMAN_ONLY constants. |
|
|
|
|
|
Changes in 0.4: |
|
|
- avoid "zip" everywhere, use zlib instead of ziplib. |
|
|
- suppress Z_BLOCK_FLUSH, interpret Z_PARTIAL_FLUSH as block flush |
|
|
if compression method == 8. |
|
|
- added adler32 and crc32 |
|
|
- renamed deflateOptions as deflateInit2, call one or the other but not both |
|
|
- added the method parameter for deflateInit2. |
|
|
- added inflateInit2 |
|
|
- simplied considerably deflateInit and inflateInit by not supporting |
|
|
user-provided history buffer. This is supported only in deflateInit2 |
|
|
and inflateInit2. |
|
|
|
|
|
Changes in 0.3: |
|
|
- prefix all macro names with Z_ |
|
|
- use Z_FINISH instead of deflateEnd to finish compression. |
|
|
- added Z_HUFFMAN_ONLY |
|
|
- added gzerror()
|
|
|
|