Go to file
Mark Adler 3c46f5ddb5 Avoid the use of ptrdiff_t.
This isn't the right type anyway to assure that it contains a
pointer. That type would be intptr_t or uintptr_t. However the C99
standard says that those types are optional, so their use would not
be portable. This commit simply uses size_t or whatever configure
decided to use for size_t. That would be the same length as
ptrdiff_t, and so will work just as well. The code checks to see if
the length of the type used is the same as the length of a void
pointer, so there is already protection against the use of the
wrong type. The use of size_t (or ptrdiff_t) will almost always
work, as all modern architectures have an array size that is the
same as the pointer size. Only old segmented architectures would
have to fall back to the slower CRC-32 calculation, where the
amount of memory that can be accessed is larger than the maximum
array size.
2017-06-03 09:53:33 -07:00
amiga zlib 1.2.3.9 2011-09-09 23:27:26 -07:00
contrib Change version number to 1.2.11.1. 2017-01-15 22:46:03 -08:00
doc zlib 1.2.5.1 2011-09-11 11:04:49 -07:00
examples zlib 1.2.9 2016-12-31 23:37:10 -08:00
msdos Avoid use of DEBUG macro -- change to ZLIB_DEBUG. 2015-07-28 22:44:31 -07:00
nintendods zlib 1.2.3.5 2011-09-09 23:26:49 -07:00
old Avoid use of DEBUG macro -- change to ZLIB_DEBUG. 2015-07-28 22:44:31 -07:00
os400 Change version number to 1.2.11.1. 2017-01-15 22:46:03 -08:00
qnx Change version number to 1.2.11.1. 2017-01-15 22:46:03 -08:00
test zlib 1.2.9 2016-12-31 23:37:10 -08:00
watcom zlib 1.2.3.9 2011-09-09 23:27:26 -07:00
win32 Change version number to 1.2.11.1. 2017-01-15 22:46:03 -08:00
.gitignore Add configure.log to .gitignore. 2016-06-17 19:36:10 -07:00
adler32.c zlib 1.2.9 2016-12-31 23:37:10 -08:00
ChangeLog Change version number to 1.2.11.1. 2017-01-15 22:46:03 -08:00
CMakeLists.txt Change version number to 1.2.11.1. 2017-01-15 22:46:03 -08:00
compress.c zlib 1.2.9 2016-12-31 23:37:10 -08:00
configure Add address checking in clang to -w option of configure. 2017-02-18 23:07:01 -08:00
crc32.c Avoid the use of ptrdiff_t. 2017-06-03 09:53:33 -07:00
crc32.h Fix type mismatch between get_crc_table() and crc_table. 2012-04-29 16:18:12 -07:00
deflate.c Fix CLEAR_HASH macro to be usable as a single statement. 2017-02-15 22:39:26 -08:00
deflate.h zlib 1.2.9 2016-12-31 23:37:10 -08:00
FAQ Move example.c and minigzip.c to test/. 2011-11-27 14:15:32 -08:00
gzclose.c zlib 1.2.3.9 2011-09-09 23:27:26 -07:00
gzguts.h Cygwin does not have _wopen(), so do not create gzopen_w() there. 2017-01-16 09:38:36 -08:00
gzlib.c Avoid a conversion error in gzseek when off_t type too small. 2017-02-15 22:39:26 -08:00
gzread.c Avoid some conversion warnings in gzread.c and gzwrite.c. 2017-02-15 22:39:26 -08:00
gzwrite.c Return an error if the gzputs string length can't fit in an int. 2017-02-15 22:39:26 -08:00
INDEX Generate and install the pkg-config file with cmake. 2012-03-11 10:16:04 -07:00
infback.c zlib 1.2.9 2016-12-31 23:37:10 -08:00
inffast.c Small speedup to inflate [psumbera]. 2017-02-15 22:39:26 -08:00
inffast.h zlib 1.2.5 2011-09-09 23:35:10 -07:00
inffixed.h Get inffixed.h and MAKEFIXED result to match. 2011-10-05 20:32:32 -07:00
inflate.c Handle case where inflateSync used when header never processed. 2017-04-16 08:35:33 -07:00
inflate.h zlib 1.2.9 2016-12-31 23:37:10 -08:00
inftrees.c Change version number to 1.2.11.1. 2017-01-15 22:46:03 -08:00
inftrees.h zlib 1.2.5 2011-09-09 23:35:10 -07:00
make_vms.com Add ability to choose the builder in make_vms.com [Schweda]. 2012-03-09 18:43:50 -08:00
Makefile zlib 1.2.4-pre2 2011-09-09 23:33:23 -07:00
Makefile.in Have Makefile return non-zero error code on test failure. 2017-02-15 22:39:26 -08:00
README Change version number to 1.2.11.1. 2017-01-15 22:46:03 -08:00
treebuild.xml Change version number to 1.2.11.1. 2017-01-15 22:46:03 -08:00
trees.c Update vestigial comment from very old Info-ZIP deflate. 2017-01-15 09:07:14 -08:00
trees.h zlib 1.2.4.5 2011-09-09 23:34:55 -07:00
uncompr.c Use a uniform approach for the largest value of an unsigned type. 2016-12-31 08:49:17 -08:00
zconf.h zlib 1.2.9 2016-12-31 23:37:10 -08:00
zconf.h.cmakein zlib 1.2.9 2016-12-31 23:37:10 -08:00
zconf.h.in zlib 1.2.9 2016-12-31 23:37:10 -08:00
zlib2ansi zlib 1.2.3.8 2011-09-09 23:27:17 -07:00
zlib.3 Change version number to 1.2.11.1. 2017-01-15 22:46:03 -08:00
zlib.3.pdf Change version number to 1.2.11.1. 2017-01-15 22:46:03 -08:00
zlib.h Permit a deflateParams() parameter change as soon as possible. 2017-02-15 22:38:55 -08:00
zlib.map zlib 1.2.9 2016-12-31 23:37:10 -08:00
zlib.pc.cmakein Generate and install the pkg-config file with cmake. 2012-03-11 10:16:04 -07:00
zlib.pc.in zlib 1.2.4.4 2011-09-09 23:34:45 -07:00
zutil.c Update use of errno for newer Windows CE versions. 2017-02-15 22:39:26 -08:00
zutil.h Avoid the use of ptrdiff_t. 2017-06-03 09:53:33 -07:00

ZLIB DATA COMPRESSION LIBRARY

zlib 1.2.11.1 is a general purpose data compression library.  All the code is
thread safe.  The data format used by the zlib library is described by RFCs
(Request for Comments) 1950 to 1952 in the files
http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
rfc1952 (gzip format).

All functions of the compression library are documented in the file zlib.h
(volunteer to write man pages welcome, contact zlib@gzip.org).  A usage example
of the library is given in the file test/example.c which also tests that
the library is working correctly.  Another example is given in the file
test/minigzip.c.  The compression library itself is composed of all source
files in the root directory.

To compile all files and run the test program, follow the instructions given at
the top of Makefile.in.  In short "./configure; make test", and if that goes
well, "make install" should work for most flavors of Unix.  For Windows, use
one of the special makefiles in win32/ or contrib/vstudio/ .  For VMS, use
make_vms.com.

Questions about zlib should be sent to <zlib@gzip.org>, or to Gilles Vollant
<info@winimage.com> for the Windows DLL version.  The zlib home page is
http://zlib.net/ .  Before reporting a problem, please check this site to
verify that you have the latest version of zlib; otherwise get the latest
version and check whether the problem still exists or not.

PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help.

Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan.  1997
issue of Dr.  Dobb's Journal; a copy of the article is available at
http://marknelson.us/1997/01/01/zlib-engine/ .

The changes made in version 1.2.11.1 are documented in the file ChangeLog.

Unsupported third party contributions are provided in directory contrib/ .

zlib is available in Java using the java.util.zip package, documented at
http://java.sun.com/developer/technicalArticles/Programming/compression/ .

A Perl interface to zlib written by Paul Marquess <pmqs@cpan.org> is available
at CPAN (Comprehensive Perl Archive Network) sites, including
http://search.cpan.org/~pmqs/IO-Compress-Zlib/ .

A Python interface to zlib written by A.M. Kuchling <amk@amk.ca> is
available in Python 1.5 and later versions, see
http://docs.python.org/library/zlib.html .

zlib is built into tcl: http://wiki.tcl.tk/4610 .

An experimental package to read and write files in .zip format, written on top
of zlib by Gilles Vollant <info@winimage.com>, is available in the
contrib/minizip directory of zlib.


Notes for some targets:

- For Windows DLL versions, please see win32/DLL_FAQ.txt

- For 64-bit Irix, deflate.c must be compiled without any optimization. With
  -O, one libpng test fails. The test works in 32 bit mode (with the -n32
  compiler flag). The compiler bug has been reported to SGI.

- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works
  when compiled with cc.

- On Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 is
  necessary to get gzprintf working correctly. This is done by configure.

- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
  other compilers. Use "make test" to check your compiler.

- gzdopen is not supported on RISCOS or BEOS.

- For PalmOs, see http://palmzlib.sourceforge.net/


Acknowledgments:

  The deflate format used by zlib was defined by Phil Katz.  The deflate and
  zlib specifications were written by L.  Peter Deutsch.  Thanks to all the
  people who reported problems and suggested various improvements in zlib; they
  are too numerous to cite here.

Copyright notice:

 (C) 1995-2017 Jean-loup Gailly and Mark Adler

  This software is provided 'as-is', without any express or implied
  warranty.  In no event will the authors be held liable for any damages
  arising from the use of this software.

  Permission is granted to anyone to use this software for any purpose,
  including commercial applications, and to alter it and redistribute it
  freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not
     claim that you wrote the original software. If you use this software
     in a product, an acknowledgment in the product documentation would be
     appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be
     misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

  Jean-loup Gailly        Mark Adler
  jloup@gzip.org          madler@alumni.caltech.edu

If you use the zlib library in a product, we would appreciate *not* receiving
lengthy legal documents to sign.  The sources are provided for free but without
warranty of any kind.  The library has been entirely written by Jean-loup
Gailly and Mark Adler; it does not include third-party code.

If you redistribute modified sources, we would appreciate that you include in
the file ChangeLog history information documenting your changes.  Please read
the FAQ for more information on the distribution of modified source versions.