RemyLebeau f5357fd298 Various tweaks and additions before next RAD Studio release 9 years ago
..
i386-Win32-ZLib 858b38c29f ZLib .obj file needed for Win32 ZLib support. 15 years ago
x86_64-Win64-ZLib 8b3cbc3489 ZLib files used in XE2. This requires two sets of .obj files for the Windows targets (x86_64-Win64 and i386-Win32). 15 years ago
ZLib.pas f5357fd298 Various tweaks and additions before next RAD Studio release 9 years ago
ZLibConst.pas 421ff4d8b4 Moved remotely 18 years ago
adler32.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
adler32.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
build.bat 6638dfe158 Now accepts parameters such as clean. 15 years ago
compress.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
compress.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
crc32.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
crc32.h 5dd8e0f196 Re-merge "Indy 10.5.7" tagged code into Trunk 15 years ago
crc32.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
deflate.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
deflate.h 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
deflate.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
example.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
example.obj 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
gzclose.c 99cc609bed Merging the Tiburon branch into the Trunk 15 years ago
gzclose.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
gzguts.h 99cc609bed Merging the Tiburon branch into the Trunk 15 years ago
gzlib.c 99cc609bed Merging the Tiburon branch into the Trunk 15 years ago
gzlib.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
gzread.c 99cc609bed Merging the Tiburon branch into the Trunk 15 years ago
gzread.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
gzwrite.c 99cc609bed Merging the Tiburon branch into the Trunk 15 years ago
gzwrite.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
infback.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
infback.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
inffast.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
inffast.h 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
inffast.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
inffixed.h 5dd8e0f196 Re-merge "Indy 10.5.7" tagged code into Trunk 15 years ago
inflate.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
inflate.h 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
inflate.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
inftrees.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
inftrees.h 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
inftrees.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
minigzip.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
minigzip.obj 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
readme.txt 5dd8e0f196 Re-merge "Indy 10.5.7" tagged code into Trunk 15 years ago
trees.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
trees.h 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
trees.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
uncompr.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
uncompr.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago
zconf.h 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
zlib.h 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
zlib.lib 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
zlibd32.mak 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
zutil.c 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
zutil.h 642af1e8a2 Zlib 1.2.5 built with Borland C++ 5.5.1. Refinement for build process to ensure that the proper bcc32.exe is used. 15 years ago
zutil.obj ff96a34488 Reverting ZLib .obj files for pre-Pulsar versions, and updating references to use new platform subfolders under Pulsar and later. 14 years ago

readme.txt


Overview
========

This directory contains an update to the ZLib interface unit,
distributed by Borland as a Delphi supplemental component.

The original ZLib unit is Copyright (c) 1997,99 Borland Corp.,
and is based on zlib version 1.0.4. There are a series of bugs
and security problems associated with that old zlib version, and
we recommend the users to update their ZLib unit.


Summary of modifications
========================

- Improved makefile, adapted to zlib version 1.2.1.

- Some field types from TZStreamRec are changed from Integer to
Longint, for consistency with the zlib.h header, and for 64-bit
readiness.

- The zlib_version constant is updated.

- The new Z_RLE strategy has its corresponding symbolic constant.

- The allocation and deallocation functions and function types
(TAlloc, TFree, zlibAllocMem and zlibFreeMem) are now cdecl,
and _malloc and _free are added as C RTL stubs. As a result,
the original C sources of zlib can be compiled out of the box,
and linked to the ZLib unit.


Suggestions for improvements
============================

Currently, the ZLib unit provides only a limited wrapper around
the zlib library, and much of the original zlib functionality is
missing. Handling compressed file formats like ZIP/GZIP or PNG
cannot be implemented without having this functionality.
Applications that handle these formats are either using their own,
duplicated code, or not using the ZLib unit at all.

Here are a few suggestions:

- Checksum class wrappers around adler32() and crc32(), similar
to the Java classes that implement the java.util.zip.Checksum
interface.

- The ability to read and write raw deflate streams, without the
zlib stream header and trailer. Raw deflate streams are used
in the ZIP file format.

- The ability to read and write gzip streams, used in the GZIP
file format, and normally produced by the gzip program.

- The ability to select a different compression strategy, useful
to PNG and MNG image compression, and to multimedia compression
in general. Besides the compression level

TCompressionLevel = (clNone, clFastest, clDefault, clMax);

which, in fact, could have used the 'z' prefix and avoided
TColor-like symbols

TCompressionLevel = (zcNone, zcFastest, zcDefault, zcMax);

there could be a compression strategy

TCompressionStrategy = (zsDefault, zsFiltered, zsHuffmanOnly, zsRle);

- ZIP and GZIP stream handling via TStreams.


--
Cosmin Truta