Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This version of PASZLIB was modified by David J Butler, 04/2015
for inclusion in the Fundamentals Library.

This version of PASZLIB was modified by Sergey A. Galin, 02/2003. 
See the
 README in directory above for details.


PASZLIB 1.0                                                   May 11th, 1998

Based on the zlib 1.1.2, a general purpose data compression library.

Copyright (C) 1998,1999,2000 by NOMSSI NZALI Jacques H. C. 
[kn&n DES]         See "Legal issues" for conditions of distribution and use.


The 'zlib' compression library provides in-memory compression and
decompression functions, including integrity checks of the uncompressed
data.  This version of the library supports only one compression method
(deflation) but other algorithms will be added later and will have the same
stream interface.

Compression can be done in a single step if the buffers are large
enough (for example if an input file is mmap'ed), or can be done by
repeated calls of the compression function.  In the latter case, the
application must provide more input and/or consume the output
(providing more output space) before each call.

The default memory requirements for deflate are 256K plus a few kilobytes
for small objects. The default memory requirements for inflate are 32K
plus a few kilobytes for small objects.

Change Log

March 24th 2000 - minizip code by Gilles Vollant ported to Pascal. 
                  z_stream.msg defined as string[255] to avoid problems
                  with Delphi 2+ dynamic string handling.
                  changes to silence Delphi 5 compiler warning. If you
                  have Delphi 5, defines Delphi5 in
May 7th 1999    - Some changes for FPC
                  deflateCopy() has new parameters
                  trees.pas - record constant definition
June 17th 1998  - Applied official 1.1.2 patch. 
	          Memcheck turned off by default.
                  zutil.pas patch for Delphi 1 memory allocation corrected.
                  dzlib.txt file added.
                  compress2() is now exported

June 25th 1998 -  fixed a conversion bug: in inftrees.pas, ZFREE(z, v) was
                  missing in line 574;

File list

Here is a road map to the files in the Paszlib distribution.

readme.txt      Introduction, Documentation
dzlib.txt       Changes to Delphi sources for Paszlib stream classes 

include file       Configuration declarations.

Pascal source code files:

adler.pas      compute the Adler-32 checksum of a data stream
crc.pas        compute the CRC-32 of a data stream
gzio.pas       IO on .gz files
infblock.pas   interpret and process block types to last block
infcodes.pas   process literals and length/distance pairs
inffast.pas    process literals and length/distance pairs fast
inftrees.pas   generate Huffman trees for efficient decoding
infutil.pas    types and macros common to blocks and codes
strutils.pas   string utilities
trees.pas      output deflated data using Huffman coding
zcompres.pas   compress a memory buffer
zdeflate.pas   compress data using the deflation algorithm
zinflate.pas   zlib interface to inflate modules
zlib.pas       zlib data structures. read the comments there!
zuncompr.pas   decompress a memory buffer

minizip/ziputils.pas data structure and IO on .zip file 
Test applications

example.pas    usage example of the zlib compression library
minigzip.pas   simulate gzip using the zlib compression library
minizip/miniunz.pas  simulates unzip using the zlib compression library
minizip/minizip.pas  simulates zip using the zlib compression library

Legal issues

Copyright (C) 1998,1999,2000 by Jacques Nomssi Nzali

  This software is provided 'as-is', without any express or implied
  warranty.  In no event will the author 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.

Archive Locations:

Check the Paszlib home page with links

The data format used by the zlib library is described by RFCs (Request for
Comments) 1950 to 1952 in the files
(zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
These documents are also available in other formats from
Jacques Nomssi Nzali <> March 24th, 2000