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.
							 | 
						||
| 
								 | 
							
								
							 |