77 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
 | 
						|
This directory contains a Pascal (Delphi, Kylix) interface to the
 | 
						|
zlib data compression library.
 | 
						|
 | 
						|
 | 
						|
Directory listing
 | 
						|
=================
 | 
						|
 | 
						|
zlibd32.mak     makefile for Borland C++
 | 
						|
example.pas     usage example of zlib
 | 
						|
zlibpas.pas     the Pascal interface to zlib
 | 
						|
readme.txt      this file
 | 
						|
 | 
						|
 | 
						|
Compatibility notes
 | 
						|
===================
 | 
						|
 | 
						|
- Although the name "zlib" would have been more normal for the
 | 
						|
  zlibpas unit, this name is already taken by Borland's ZLib unit.
 | 
						|
  This is somehow unfortunate, because that unit is not a genuine
 | 
						|
  interface to the full-fledged zlib functionality, but a suite of
 | 
						|
  class wrappers around zlib streams.  Other essential features,
 | 
						|
  such as checksums, are missing.
 | 
						|
  It would have been more appropriate for that unit to have a name
 | 
						|
  like "ZStreams", or something similar.
 | 
						|
 | 
						|
- The C and zlib-supplied types int, uInt, long, uLong, etc. are
 | 
						|
  translated directly into Pascal types of similar sizes (Integer,
 | 
						|
  LongInt, etc.), to avoid namespace pollution.  In particular,
 | 
						|
  there is no conversion of unsigned int into a Pascal unsigned
 | 
						|
  integer.  The Word type is non-portable and has the same size
 | 
						|
  (16 bits) both in a 16-bit and in a 32-bit environment, unlike
 | 
						|
  Integer.  Even if there is a 32-bit Cardinal type, there is no
 | 
						|
  real need for unsigned int in zlib under a 32-bit environment.
 | 
						|
 | 
						|
- Except for the callbacks, the zlib function interfaces are
 | 
						|
  assuming the calling convention normally used in Pascal
 | 
						|
  (__pascal for DOS and Windows16, __fastcall for Windows32).
 | 
						|
  Since the cdecl keyword is used, the old Turbo Pascal does
 | 
						|
  not work with this interface.
 | 
						|
 | 
						|
- The gz* function interfaces are not translated, to avoid
 | 
						|
  interfacing problems with the C runtime library.  Besides,
 | 
						|
    gzprintf(gzFile file, const char *format, ...)
 | 
						|
  cannot be translated into Pascal.
 | 
						|
 | 
						|
 | 
						|
Legal issues
 | 
						|
============
 | 
						|
 | 
						|
The zlibpas interface is:
 | 
						|
  Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler.
 | 
						|
  Copyright (C) 1998 by Bob Dellaca.
 | 
						|
  Copyright (C) 2003 by Cosmin Truta.
 | 
						|
 | 
						|
The example program is:
 | 
						|
  Copyright (C) 1995-2003 by Jean-loup Gailly.
 | 
						|
  Copyright (C) 1998,1999,2000 by Jacques Nomssi Nzali.
 | 
						|
  Copyright (C) 2003 by Cosmin Truta.
 | 
						|
 | 
						|
  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.
 | 
						|
 |