| 1 |
zlib 1.1.4 is a general purpose data compression library. All the code |
|---|
| 2 |
is thread safe. The data format used by the zlib library |
|---|
| 3 |
is described by RFCs (Request for Comments) 1950 to 1952 in the files |
|---|
| 4 |
http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate |
|---|
| 5 |
format) and rfc1952.txt (gzip format). These documents are also available in |
|---|
| 6 |
other formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html |
|---|
| 7 |
|
|---|
| 8 |
All functions of the compression library are documented in the file zlib.h |
|---|
| 9 |
(volunteer to write man pages welcome, contact jloup@gzip.org). A usage |
|---|
| 10 |
example of the library is given in the file example.c which also tests that |
|---|
| 11 |
the library is working correctly. Another example is given in the file |
|---|
| 12 |
minigzip.c. The compression library itself is composed of all source files |
|---|
| 13 |
except example.c and minigzip.c. |
|---|
| 14 |
|
|---|
| 15 |
To compile all files and run the test program, follow the instructions |
|---|
| 16 |
given at the top of Makefile. In short "make test; make install" |
|---|
| 17 |
should work for most machines. For Unix: "./configure; make test; make install" |
|---|
| 18 |
For MSDOS, use one of the special makefiles such as Makefile.msc. |
|---|
| 19 |
For VMS, use Make_vms.com or descrip.mms. |
|---|
| 20 |
|
|---|
| 21 |
Questions about zlib should be sent to <zlib@gzip.org>, or to |
|---|
| 22 |
Gilles Vollant <info@winimage.com> for the Windows DLL version. |
|---|
| 23 |
The zlib home page is http://www.zlib.org or http://www.gzip.org/zlib/ |
|---|
| 24 |
Before reporting a problem, please check this site to verify that |
|---|
| 25 |
you have the latest version of zlib; otherwise get the latest version and |
|---|
| 26 |
check whether the problem still exists or not. |
|---|
| 27 |
|
|---|
| 28 |
PLEASE read the zlib FAQ http://www.gzip.org/zlib/zlib_faq.html |
|---|
| 29 |
before asking for help. |
|---|
| 30 |
|
|---|
| 31 |
Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997 |
|---|
| 32 |
issue of Dr. Dobb's Journal; a copy of the article is available in |
|---|
| 33 |
http://dogma.net/markn/articles/zlibtool/zlibtool.htm |
|---|
| 34 |
|
|---|
| 35 |
The changes made in version 1.1.4 are documented in the file ChangeLog. |
|---|
| 36 |
The only changes made since 1.1.3 are bug corrections: |
|---|
| 37 |
|
|---|
| 38 |
- ZFREE was repeated on same allocation on some error conditions. |
|---|
| 39 |
This creates a security problem described in |
|---|
| 40 |
http://www.zlib.org/advisory-2002-03-11.txt |
|---|
| 41 |
- Returned incorrect error (Z_MEM_ERROR) on some invalid data |
|---|
| 42 |
- Avoid accesses before window for invalid distances with inflate window |
|---|
| 43 |
less than 32K. |
|---|
| 44 |
- force windowBits > 8 to avoid a bug in the encoder for a window size |
|---|
| 45 |
of 256 bytes. (A complete fix will be available in 1.1.5). |
|---|
| 46 |
|
|---|
| 47 |
The beta version 1.1.5beta includes many more changes. A new official |
|---|
| 48 |
version 1.1.5 will be released as soon as extensive testing has been |
|---|
| 49 |
completed on it. |
|---|
| 50 |
|
|---|
| 51 |
|
|---|
| 52 |
Unsupported third party contributions are provided in directory "contrib". |
|---|
| 53 |
|
|---|
| 54 |
A Java implementation of zlib is available in the Java Development Kit |
|---|
| 55 |
http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html |
|---|
| 56 |
See the zlib home page http://www.zlib.org for details. |
|---|
| 57 |
|
|---|
| 58 |
A Perl interface to zlib written by Paul Marquess <pmarquess@bfsec.bt.co.uk> |
|---|
| 59 |
is in the CPAN (Comprehensive Perl Archive Network) sites |
|---|
| 60 |
http://www.cpan.org/modules/by-module/Compress/ |
|---|
| 61 |
|
|---|
| 62 |
A Python interface to zlib written by A.M. Kuchling <amk@magnet.com> |
|---|
| 63 |
is available in Python 1.5 and later versions, see |
|---|
| 64 |
http://www.python.org/doc/lib/module-zlib.html |
|---|
| 65 |
|
|---|
| 66 |
A zlib binding for TCL written by Andreas Kupries <a.kupries@westend.com> |
|---|
| 67 |
is availlable at http://www.westend.com/~kupries/doc/trf/man/man.html |
|---|
| 68 |
|
|---|
| 69 |
An experimental package to read and write files in .zip format, |
|---|
| 70 |
written on top of zlib by Gilles Vollant <info@winimage.com>, is |
|---|
| 71 |
available at http://www.winimage.com/zLibDll/unzip.html |
|---|
| 72 |
and also in the contrib/minizip directory of zlib. |
|---|
| 73 |
|
|---|
| 74 |
|
|---|
| 75 |
Notes for some targets: |
|---|
| 76 |
|
|---|
| 77 |
- To build a Windows DLL version, include in a DLL project zlib.def, zlib.rc |
|---|
| 78 |
and all .c files except example.c and minigzip.c; compile with -DZLIB_DLL |
|---|
| 79 |
The zlib DLL support was initially done by Alessandro Iacopetti and is |
|---|
| 80 |
now maintained by Gilles Vollant <info@winimage.com>. Check the zlib DLL |
|---|
| 81 |
home page at http://www.winimage.com/zLibDll |
|---|
| 82 |
|
|---|
| 83 |
From Visual Basic, you can call the DLL functions which do not take |
|---|
| 84 |
a structure as argument: compress, uncompress and all gz* functions. |
|---|
| 85 |
See contrib/visual-basic.txt for more information, or get |
|---|
| 86 |
http://www.tcfb.com/dowseware/cmp-z-it.zip |
|---|
| 87 |
|
|---|
| 88 |
- For 64-bit Irix, deflate.c must be compiled without any optimization. |
|---|
| 89 |
With -O, one libpng test fails. The test works in 32 bit mode (with |
|---|
| 90 |
the -n32 compiler flag). The compiler bug has been reported to SGI. |
|---|
| 91 |
|
|---|
| 92 |
- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 |
|---|
| 93 |
it works when compiled with cc. |
|---|
| 94 |
|
|---|
| 95 |
- on Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 |
|---|
| 96 |
is necessary to get gzprintf working correctly. This is done by configure. |
|---|
| 97 |
|
|---|
| 98 |
- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works |
|---|
| 99 |
with other compilers. Use "make test" to check your compiler. |
|---|
| 100 |
|
|---|
| 101 |
- gzdopen is not supported on RISCOS, BEOS and by some Mac compilers. |
|---|
| 102 |
|
|---|
| 103 |
- For Turbo C the small model is supported only with reduced performance to |
|---|
| 104 |
avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 |
|---|
| 105 |
|
|---|
| 106 |
- For PalmOs, see http://www.cs.uit.no/~perm/PASTA/pilot/software.html |
|---|
| 107 |
Per Harald Myrvang <perm@stud.cs.uit.no> |
|---|
| 108 |
|
|---|
| 109 |
|
|---|
| 110 |
Acknowledgments: |
|---|
| 111 |
|
|---|
| 112 |
The deflate format used by zlib was defined by Phil Katz. The deflate |
|---|
| 113 |
and zlib specifications were written by L. Peter Deutsch. Thanks to all the |
|---|
| 114 |
people who reported problems and suggested various improvements in zlib; |
|---|
| 115 |
they are too numerous to cite here. |
|---|
| 116 |
|
|---|
| 117 |
Copyright notice: |
|---|
| 118 |
|
|---|
| 119 |
(C) 1995-2002 Jean-loup Gailly and Mark Adler |
|---|
| 120 |
|
|---|
| 121 |
This software is provided 'as-is', without any express or implied |
|---|
| 122 |
warranty. In no event will the authors be held liable for any damages |
|---|
| 123 |
arising from the use of this software. |
|---|
| 124 |
|
|---|
| 125 |
Permission is granted to anyone to use this software for any purpose, |
|---|
| 126 |
including commercial applications, and to alter it and redistribute it |
|---|
| 127 |
freely, subject to the following restrictions: |
|---|
| 128 |
|
|---|
| 129 |
1. The origin of this software must not be misrepresented; you must not |
|---|
| 130 |
claim that you wrote the original software. If you use this software |
|---|
| 131 |
in a product, an acknowledgment in the product documentation would be |
|---|
| 132 |
appreciated but is not required. |
|---|
| 133 |
2. Altered source versions must be plainly marked as such, and must not be |
|---|
| 134 |
misrepresented as being the original software. |
|---|
| 135 |
3. This notice may not be removed or altered from any source distribution. |
|---|
| 136 |
|
|---|
| 137 |
Jean-loup Gailly Mark Adler |
|---|
| 138 |
jloup@gzip.org madler@alumni.caltech.edu |
|---|
| 139 |
|
|---|
| 140 |
If you use the zlib library in a product, we would appreciate *not* |
|---|
| 141 |
receiving lengthy legal documents to sign. The sources are provided |
|---|
| 142 |
for free but without warranty of any kind. The library has been |
|---|
| 143 |
entirely written by Jean-loup Gailly and Mark Adler; it does not |
|---|
| 144 |
include third-party code. |
|---|
| 145 |
|
|---|
| 146 |
If you redistribute modified sources, we would appreciate that you include |
|---|
| 147 |
in the file ChangeLog history information documenting your changes. |
|---|