

		ChangeLog file for zlib



Changes in 1.1.3 (9 July 1998)

- fix "an inflate input buffer bug that shows up on rare but persistent

  occasions" (Mark)

- fix gzread and gztell for concatenated .gz files (Didier Le Botlan)

- fix gzseek(..., SEEK_SET) in write mode

- fix crc check after a gzeek (Frank Faubert)

- fix miniunzip when the last entry in a zip file is itself a zip file

  (J Lillge)

- add contrib/asm586 and contrib/asm686 (Brian Raiter)

  See http://www.muppetlabs.com/~breadbox/software/assembly.html

- add support for Delphi 3 in contrib/delphi (Bob Dellaca)

- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti)

- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren)

- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks)

- added a FAQ file



- Support gzdopen on Mac with Metrowerks (Jason Linhart)

- Do not redefine Byte on Mac (Brad Pettit & Jason Linhart)

- define SEEK_END too if SEEK_SET is not defined (Albert Chin-A-Young)

- avoid some warnings with Borland C (Tom Tanner)

- fix a problem in contrib/minizip/zip.c for 16-bit MSDOS (Gilles Vollant)

- emulate utime() for WIN32 in contrib/untgz  (Gilles Vollant)

- allow several arguments to configure (Tim Mooney, Frodo Looijaard)

- use libdir and includedir in Makefile.in (Tim Mooney)

- support shared libraries on OSF1 V4 (Tim Mooney)

- remove so_locations in "make clean"  (Tim Mooney)

- fix maketree.c compilation error (Glenn, Mark)

- Python interface to zlib now in Python 1.5 (Jeremy Hylton)

- new Makefile.riscos (Rich Walker)

- initialize static descriptors in trees.c for embedded targets (Nick Smith)

- use "foo-gz" in example.c for RISCOS and VMS (Nick Smith)

- add the OS/2 files in Makefile.in too (Andrew Zabolotny)

- fix fdopen and halloc macros for Microsoft C 6.0 (Tom Lane)

- fix maketree.c to allow clean compilation of inffixed.h (Mark)

- fix parameter check in deflateCopy (Gunther Nikl)

- cleanup trees.c, use compressed_len only in debug mode (Christian Spieler)

- Many portability patches by Christian Spieler:

  . zutil.c, zutil.h: added "const" for zmem*

  . Make_vms.com: fixed some typos

  . Make_vms.com: msdos/Makefile.*: removed zutil.h from some dependency lists

  . msdos/Makefile.msc: remove "default rtl link library" info from obj files

  . msdos/Makefile.*: use model-dependent name for the built zlib library

  . msdos/Makefile.emx, nt/Makefile.emx, nt/Makefile.gcc:

     new makefiles, for emx (DOS/OS2), emx&rsxnt and mingw32 (Windows 9x / NT)

- use define instead of typedef for Bytef also for MSC small/medium (Tom Lane)

- replace __far with _far for better portability (Christian Spieler, Tom Lane)

- fix test for errno.h in configure (Tim Newsham)



Changes in 1.1.2 (19 March 98)

- added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant)

  See http://www.winimage.com/zLibDll/unzip.html

- preinitialize the inflate tables for fixed codes, to make the code

  completely thread safe (Mark)

- some simplifications and slight speed-up to the inflate code (Mark)

- fix gzeof on non-compressed files (Allan Schrum)

- add -std1 option in configure for OSF1 to fix gzprintf (Martin Mokrejs)

- use default value of 4K for Z_BUFSIZE for 16-bit MSDOS (Tim Wegner + Glenn)

- added os2/Makefile.def and os2/zlib.def (Andrew Zabolotny)

- add shared lib support for UNIX_SV4.2MP (MATSUURA Takanori)

- do not wrap extern "C" around system includes (Tom Lane)

- mention zlib binding for TCL in README (Andreas Kupries)

- added amiga/Makefile.pup for Amiga powerUP SAS/C PPC (Andreas Kleinert)

- allow "make install prefix=..." even after configure (Glenn Randers-Pehrson)

- allow "configure --prefix $HOME" (Tim Mooney)

- remove warnings in example.c and gzio.c (Glenn Randers-Pehrson)

- move Makefile.sas to amiga/Makefile.sas



Changes in 1.1.1 (27 Feb 98)

- fix macros _tr_tally_* in deflate.h for debug mode  (Glenn Randers-Pehrson)

- remove block truncation heuristic which had very marginal effect for zlib

  (smaller lit_bufsize than in gzip 1.2.4) and degraded a little the

  compression ratio on some files. This also allows inlining _tr_tally for

  matches in deflate_slow.

- added msdos/Makefile.w32 for WIN32 Microsoft Visual C++ (Bob Frazier)



Changes in 1.1.0 (24 Feb 98)

- do not return STREAM_END prematurely in inflate (John Bowler)

- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler)

- compile with -DFASTEST to get compression code optimized for speed only

- in minigzip, try mmap'ing the input file first (Miguel Albrecht)

- increase size of I/O buffers in minigzip.c and gzio.c (not a big gain

  on Sun but significant on HP)



- add a pointer to experimental unzip library in README (Gilles Vollant)

- initialize variable gcc in configure (Chris Herborth)



Changes in 1.0.9 (17 Feb 1998)

- added gzputs and gzgets functions

- do not clear eof flag in gzseek (Mark Diekhans)

- fix gzseek for files in transparent mode (Mark Diekhans)

- do not assume that vsprintf returns the number of bytes written (Jens Krinke)

- replace EXPORT with ZEXPORT to avoid conflict with other programs

- added compress2 in zconf.h, zlib.def, zlib.dnt

- new asm code from Gilles Vollant in contrib/asm386

- simplify the inflate code (Mark):

 . Replace ZALLOC's in huft_build() with single ZALLOC in inflate_blocks_new()

 . ZALLOC the length list in inflate_trees_fixed() instead of using stack

 . ZALLOC the value area for huft_build() instead of using stack

 . Simplify Z_FINISH check in inflate()



- Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8

- in inftrees.c, avoid cc -O bug on HP (Farshid Elahi)

- in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with

  the declaration of FAR (Gilles VOllant)

- install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann)

- read_buf buf parameter of type Bytef* instead of charf*

- zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout)

- do not redeclare unlink in minigzip.c for WIN32 (John Bowler)

- fix check for presence of directories in "make install" (Ian Willis)



Changes in 1.0.8 (27 Jan 1998)

- fixed offsets in contrib/asm386/gvmat32.asm (Gilles Vollant)

- fix gzgetc and gzputc for big endian systems (Markus Oberhumer)

- added compress2() to allow setting the compression level

- include sys/types.h to get off_t on some systems (Marc Lehmann & QingLong)

- use constant arrays for the static trees in trees.c instead of computing

  them at run time (thanks to Ken Raeburn for this suggestion). To create

  trees.h, compile with GEN_TREES_H and run "make test".

- check return code of example in "make test" and display result

- pass minigzip command line options to file_compress

- simplifying code of inflateSync to avoid gcc 2.8 bug



- support CC="gcc -Wall" in configure -s (QingLong)

- avoid a flush caused by ftell in gzopen for write mode (Ken Raeburn)

- fix test for shared library support to avoid compiler warnings

- zlib.lib -> zlib.dll in msdos/zlib.rc (Gilles Vollant)

- check for TARGET_OS_MAC in addition to MACOS (Brad Pettit)

- do not use fdopen for Metrowerks on Mac (Brad Pettit))

- add checks for gzputc and gzputc in example.c

- avoid warnings in gzio.c and deflate.c (Andreas Kleinert)

- use const for the CRC table (Ken Raeburn)

- fixed "make uninstall" for shared libraries

- use Tracev instead of Trace in infblock.c

- in example.c use correct compressed length for test_sync

- suppress +vnocompatwarnings in configure for HPUX (not always supported)



Changes in 1.0.7 (20 Jan 1998)

- fix gzseek which was broken in write mode

- return error for gzseek to negative absolute position

- fix configure for Linux (Chun-Chung Chen)

- increase stack space for MSC (Tim Wegner)

- get_crc_table and inflateSyncPoint are EXPORTed (Gilles Vollant)

- define EXPORTVA for gzprintf (Gilles Vollant)

- added man page zlib.3 (Rick Rodgers)

- for contrib/untgz, fix makedir() and improve Makefile



- check gzseek in write mode in example.c

- allocate extra buffer for seeks only if gzseek is actually called

- avoid signed/unsigned comparisons (Tim Wegner, Gilles Vollant)

- add inflateSyncPoint in zconf.h

- fix list of exported functions in nt/zlib.dnt and mdsos/zlib.def



Changes in 1.0.6 (19 Jan 1998)

- add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and

  gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code)

- Fix a deflate bug occuring only with compression level 0 (thanks to

  Andy Buckler for finding this one).

- In minigzip, pass transparently also the first byte for .Z files.

- return Z_BUF_ERROR instead of Z_OK if output buffer full in uncompress()

- check Z_FINISH in inflate (thanks to Marc Schluper)

- Implement deflateCopy (thanks to Adam Costello)

- make static libraries by default in configure, add --shared option.

- move MSDOS or Windows specific files to directory msdos

- suppress the notion of partial flush to simplify the interface

  (but the symbol Z_PARTIAL_FLUSH is kept for compatibility with 1.0.4)

- suppress history buffer provided by application to simplify the interface

  (this feature was not implemented anyway in 1.0.4)

- next_in and avail_in must be initialized before calling inflateInit or

  inflateInit2

- add EXPORT in all exported functions (for Windows DLL)

- added Makefile.nt (thanks to Stephen Williams)

- added the unsupported "contrib" directory:

   contrib/asm386/ by Gilles Vollant <info@winimage.com>

	386 asm code replacing longest_match().

   contrib/iostream/ by Kevin Ruland <kevin@rodin.wustl.edu>

        A C++ I/O streams interface to the zlib gz* functions

   contrib/iostream2/  by Tyge Lvset <Tyge.Lovset@cmr.no>

	Another C++ I/O streams interface

   contrib/untgz/  by "Pedro A. Aranda Guti\irrez" <paag@tid.es>

	A very simple tar.gz file extractor using zlib

   contrib/visual-basic.txt by Carlos Rios <c_rios@sonda.cl>

        How to use compress(), uncompress() and the gz* functions from VB.

- pass params -f (filtered data), -h (huffman only), -1 to -9 (compression

  level) in minigzip (thanks to Tom Lane)



- use const for rommable constants in deflate

- added test for gzseek and gztell in example.c

- add undocumented function inflateSyncPoint() (hack for Paul Mackerras)

- add undocumented function zError to convert error code to string

  (for Tim Smithers)

- Allow compilation of gzio with -DNO_DEFLATE to avoid the compression code.

- Use default memcpy for Symantec MSDOS compiler.

- Add EXPORT keyword for check_func (needed for Windows DLL)

- add current directory to LD_LIBRARY_PATH for "make test"

- create also a link for libz.so.1

- added support for FUJITSU UXP/DS (thanks to Toshiaki Nomura)

- use $(SHAREDLIB) instead of libz.so in Makefile.in (for HPUX)

- added -soname for Linux in configure (Chun-Chung Chen,

- assign numbers to the exported functions in zlib.def (for Windows DLL)

- add advice in zlib.h for best usage of deflateSetDictionary

- work around compiler bug on Atari (cast Z_NULL in call of s->checkfn)

- allow compilation with ANSI keywords only enabled for TurboC in large model

- avoid "versionString"[0] (Borland bug)

- add NEED_DUMMY_RETURN for Borland

- use variable z_verbose for tracing in debug mode (L. Peter Deutsch).

- allow compilation with CC

- defined STDC for OS/2 (David Charlap)	

- limit external names to 8 chars for MVS (Thomas Lund)

- in minigzip.c, use static buffers only for 16-bit systems

- fix suffix check for "minigzip -d foo.gz"

- do not return an error for the 2nd of two consecutive gzflush() (Felix Lee)

- use _fdopen instead of fdopen for MSC >= 6.0 (Thomas Fanslau)

- added makelcc.bat for lcc-win32 (Tom St Denis)

- in Makefile.dj2, use copy and del instead of install and rm (Frank Donahoe)

- Avoid expanded $Id: ChangeLog,v 1.1 2003/05/20 19:36:36 kremer Exp $. Use "rcs -kb" or "cvs admin -kb" to avoid Id expansion.

- check for unistd.h in configure (for off_t)

- remove useless check parameter in inflate_blocks_free

- avoid useless assignment of s->check to itself in inflate_blocks_new

- do not flush twice in gzclose (thanks to Ken Raeburn)

- rename FOPEN as F_OPEN to avoid clash with /usr/include/sys/file.h

- use NO_ERRNO_H instead of enumeration of operating systems with errno.h

- work around buggy fclose on pipes for HP/UX

- support zlib DLL with BORLAND C++ 5.0 (thanks to Glenn Randers-Pehrson)

- fix configure if CC is already equal to gcc



Changes in 1.0.5 (3 Jan 98)

- Fix inflate to terminate gracefully when fed corrupted or invalid data

- Use const for rommable constants in inflate

- Eliminate memory leaks on error conditions in inflate

- Removed some vestigial code in inflate

- Update web address in README

  

Changes in 1.0.4 (24 Jul 96)

- In very rare conditions, deflate(s, Z_FINISH) could fail to produce an EOF

  bit, so the decompressor could decompress all the correct data but went

  on to attempt decompressing extra garbage data. This affected minigzip too.

- zlibVersion and gzerror return const char* (needed for DLL)

- port to RISCOS (no fdopen, no multiple dots, no unlink, no fileno)

- use z_error only for DEBUG (avoid problem with DLLs)



Changes in 1.0.3 (2 Jul 96)

- use z_streamp instead of z_stream *, which is now a far pointer in MSDOS

  small and medium models; this makes the library incompatible with previous

  versions for these models. (No effect in large model or on other systems.)

- return OK instead of BUF_ERROR if previous deflate call returned with

  avail_out as zero but there is nothing to do

- added memcmp for non STDC compilers

- define NO_DUMMY_DECL for more Mac compilers (.h files merged incorrectly)

- define __32BIT__ if __386__ or i386 is defined (pb. with Watcom and SCO)

- better check for 16-bit mode MSC (avoids problem with Symantec)



Changes in 1.0.2 (23 May 96)

- added Windows DLL support

- added a function zlibVersion (for the DLL support)

- fixed declarations using Bytef in infutil.c (pb with MSDOS medium model)

- Bytef is define's instead of typedef'd only for Borland C

- avoid reading uninitialized memory in example.c

- mention in README that the zlib format is now RFC1950

- updated Makefile.dj2

- added algorithm.doc



Changes in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion]

- fix array overlay in deflate.c which sometimes caused bad compressed data

- fix inflate bug with empty stored block

- fix MSDOS medium model which was broken in 0.99

- fix deflateParams() which could generated bad compressed data.

- Bytef is define'd instead of typedef'ed (work around Borland bug)

- added an INDEX file

- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32),

  Watcom (Makefile.wat), Amiga SAS/C (Makefile.sas)

- speed up adler32 for modern machines without auto-increment

- added -ansi for IRIX in configure

- static_init_done in trees.c is an int

- define unlink as delete for VMS

- fix configure for QNX

- add configure branch for SCO and HPUX

- avoid many warnings (unused variables, dead assignments, etc...)

- no fdopen for BeOS

- fix the Watcom fix for 32 bit mode (define FAR as empty)

- removed redefinition of Byte for MKWERKS

- work around an MWKERKS bug (incorrect merge of all .h files)



Changes in 0.99 (27 Jan 96)

- allow preset dictionary shared between compressor and decompressor

- allow compression level 0 (no compression)

- add deflateParams in zlib.h: allow dynamic change of compression level

  and compression strategy.

- test large buffers and deflateParams in example.c

- add optional "configure" to build zlib as a shared library

- suppress Makefile.qnx, use configure instead

- fixed deflate for 64-bit systems (detected on Cray)

- fixed inflate_blocks for 64-bit systems (detected on Alpha)

- declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2)

- always return Z_BUF_ERROR when deflate() has nothing to do

- deflateInit and inflateInit are now macros to allow version checking

- prefix all global functions and types with z_ with -DZ_PREFIX

- make falloc completely reentrant (inftrees.c)

- fixed very unlikely race condition in ct_static_init

- free in reverse order of allocation to help memory manager

- use zlib-1.0/* instead of zlib/* inside the tar.gz

- make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith

  -Wconversion -Wstrict-prototypes -Wmissing-prototypes"

- allow gzread on concatenated .gz files

- deflateEnd now returns Z_DATA_ERROR if it was premature

- deflate is finally (?) fully deterministic (no matches beyond end of input)

- Document Z_SYNC_FLUSH

- add uninstall in Makefile

- Check for __cpluplus in zlib.h

- Better test in ct_align for partial flush

- avoid harmless warnings for Borland C++

- initialize hash_head in deflate.c

- avoid warning on fdopen (gzio.c) for HP cc -Aa

- include stdlib.h for STDC compilers

- include errno.h for Cray

- ignore error if ranlib doesn't exist

- call ranlib twice for NeXTSTEP

- use exec_prefix instead of prefix for libz.a

- renamed ct_* as _tr_* to avoid conflict with applications

- clear z->msg in inflateInit2 before any error return

- initialize opaque in example.c, gzio.c, deflate.c and inflate.c

- fixed typo in zconf.h (_GNUC__ => __GNUC__)

- check for WIN32 in zconf.h and zutil.c (avoid farmalloc in 32-bit mode)

- fix typo in Make_vms.com (f$trnlnm -> f$getsyi)

- in fcalloc, normalize pointer if size > 65520 bytes

- don't use special fcalloc for 32 bit Borland C++

- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc...

- use Z_BINARY instead of BINARY

- document that gzclose after gzdopen will close the file

- allow "a" as mode in gzopen.

- fix error checking in gzread

- allow skipping .gz extra-field on pipes

- added reference to Perl interface in README

- put the crc table in FAR data (I dislike more and more the medium model :)

- added get_crc_table

- added a dimension to all arrays (Borland C can't count).

- workaround Borland C bug in declaration of inflate_codes_new & inflate_fast

- guard against multiple inclusion of *.h (for precompiled header on Mac)

- Watcom C pretends to be Microsoft C small model even in 32 bit mode.

- don't use unsized arrays to avoid silly warnings by Visual C++:

     warning C4746: 'inflate_mask' : unsized array treated as  '__far'

     (what's wrong with far data in far model?).

- define enum out of inflate_blocks_state to allow compilation with C++



Changes in 0.95 (16 Aug 95)

- fix MSDOS small and medium model (now easier to adapt to any compiler)

- inlined send_bits

- fix the final (:-) bug for deflate with flush (output was correct but

  not completely flushed in rare occasions).

- default window size is same for compression and decompression

  (it's now sufficient to set MAX_WBITS in zconf.h).

- voidp -> voidpf and voidnp -> voidp (for consistency with other

  typedefs and because voidnp was not near in large model).



Changes in 0.94 (13 Aug 95)

- support MSDOS medium model

- fix deflate with flush (could sometimes generate bad output)

- fix deflateReset (zlib header was incorrectly suppressed)

- added support for VMS

- allow a compression level in gzopen()

- gzflush now calls fflush

- For deflate with flush, flush even if no more input is provided.

- rename libgz.a as libz.a

- avoid complex expression in infcodes.c triggering Turbo C bug

- work around a problem with gcc on Alpha (in INSERT_STRING)

- don't use inline functions (problem with some gcc versions)

- allow renaming of Byte, uInt, etc... with #define.

- avoid warning about (unused) pointer before start of array in deflate.c

- avoid various warnings in gzio.c, example.c, infblock.c, adler32.c, zutil.c

- avoid reserved word 'new' in trees.c



Changes in 0.93 (25 June 95)

- temporarily disable inline functions

- make deflate deterministic

- give enough lookahead for PARTIAL_FLUSH

- Set binary mode for stdin/stdout in minigzip.c for OS/2

- don't even use signed char in inflate (not portable enough)

- fix inflate memory leak for segmented architectures



Changes in 0.92 (3 May 95)

- don't assume that char is signed (problem on SGI)

- Clear bit buffer when starting a stored block

- no memcpy on Pyramid

- suppressed inftest.c

- optimized fill_window, put longest_match inline for gcc

- optimized inflate on stored blocks.

- untabify all sources to simplify patches



Changes in 0.91 (2 May 95)

- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h

- Document the memory requirements in zconf.h

- added "make install"

- fix sync search logic in inflateSync

- deflate(Z_FULL_FLUSH) now works even if output buffer too short

- after inflateSync, don't scare people with just "lo world"

- added support for DJGPP



Changes in 0.9 (1 May 95)

- don't assume that zalloc clears the allocated memory (the TurboC bug

  was Mark's bug after all :)

- let again gzread copy uncompressed data unchanged (was working in 0.71)

- deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented

- added a test of inflateSync in example.c

- moved MAX_WBITS to zconf.h because users might want to change that.

- document explicitly that zalloc(64K) on MSDOS must return a normalized

  pointer (zero offset)

- added Makefiles for Microsoft C, Turbo C, Borland C++

- faster crc32()



Changes in 0.8 (29 April 95)

- added fast inflate (inffast.c)

- deflate(Z_FINISH) now returns Z_STREAM_END when done. Warning: this

  is incompatible with previous versions of zlib which returned Z_OK.

- work around a TurboC compiler bug (bad code for b << 0, see infutil.h)

  (actually that was not a compiler bug, see 0.81 above)

- gzread no longer reads one extra byte in certain cases

- In gzio destroy(), don't reference a freed structure

- avoid many warnings for MSDOS

- avoid the ERROR symbol which is used by MS Windows



Changes in 0.71 (14 April 95)

- Fixed more MSDOS compilation problems :( There is still a bug with

  TurboC large model.



Changes in 0.7 (14 April 95)

- Added full inflate support.

- Simplified the crc32() interface. The pre- and post-conditioning

  (one's complement) is now done inside crc32(). WARNING: this is

  incompatible with previous versions; see zlib.h for the new usage.



Changes in 0.61 (12 April 95)

- workaround for a bug in TurboC. example and minigzip now work on MSDOS.



Changes in 0.6 (11 April 95)

- added minigzip.c

- added gzdopen to reopen a file descriptor as gzFile

- added transparent reading of non-gziped files in gzread.

- fixed bug in gzread (don't read crc as data)

- fixed bug in destroy (gzio.c) (don't return Z_STREAM_END for gzclose).

- don't allocate big arrays in the stack (for MSDOS)

- fix some MSDOS compilation problems



Changes in 0.5:

- do real compression in deflate.c. Z_PARTIAL_FLUSH is supported but

  not yet Z_FULL_FLUSH.

- support decompression but only in a single step (forced Z_FINISH)

- added opaque object for zalloc and zfree.

- added deflateReset and inflateReset

- added a variable zlib_version for consistency checking.

- renamed the 'filter' parameter of deflateInit2 as 'strategy'.

  Added Z_FILTERED and Z_HUFFMAN_ONLY constants.



Changes in 0.4:

- avoid "zip" everywhere, use zlib instead of ziplib.

- suppress Z_BLOCK_FLUSH, interpret Z_PARTIAL_FLUSH as block flush

  if compression method == 8.

- added adler32 and crc32

- renamed deflateOptions as deflateInit2, call one or the other but not both

- added the method parameter for deflateInit2.

- added inflateInit2

- simplied considerably deflateInit and inflateInit by not supporting

  user-provided history buffer. This is supported only in deflateInit2

  and inflateInit2.



Changes in 0.3:

- prefix all macro names with Z_

- use Z_FINISH instead of deflateEnd to finish compression.

- added Z_HUFFMAN_ONLY

- added gzerror()

