zlib 1.2.3.8
diff --git a/ChangeLog b/ChangeLog
index 68305b4..4834321 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,21 @@
 
                 ChangeLog file for zlib
 
+Changes in 1.2.3.8 (13 Feb 2010)
+- Clean up text files (tabs, trailing whitespace, etc.) [Oberhumer]
+- Use z_off64_t in gz_zero() and gz_skip() to match state->skip
+- Avoid comparison problem when sizeof(int) == sizeof(z_off64_t)
+- Revert to Makefile.in from 1.2.3.6 (live with the clutter)
+- Fix missing error return in gzflush(), add zlib.h note
+- Add *64 functions to zlib.map [Levin]
+- Fix signed/unsigned comparison in gz_comp()
+- Use SFLAGS when testing shared linking in configure
+- Add --64 option to ./configure to use -m64 with gcc
+- Fix ./configure --help to correctly name options
+- Have make fail if a test fails [Levin]
+- Avoid buffer overrun in contrib/masmx64/gvmat64.asm [Simpson]
+- Remove assembler object files from contrib
+
 Changes in 1.2.3.7 (24 Jan 2010)
 - Always gzopen() with O_LARGEFILE if available
 - Fix gzdirect() to work immediately after gzopen() or gzdopen()
@@ -191,7 +206,7 @@
 - Synchronize FAQ with website
 - Fix compressBound(), was low for some pathological cases [Fearnley]
 - Take into account wrapper variations in deflateBound()
-- Set examples/zpipe.c input and output to binary mode for Windows 
+- Set examples/zpipe.c input and output to binary mode for Windows
 - Update examples/zlib_how.html with new zpipe.c (also web site)
 - Fix some warnings in examples/gzlog.c and examples/zran.c (it seems
   that gcc became pickier in 4.0)
diff --git a/INDEX b/INDEX
index e4c2133..704ded4 100644
--- a/INDEX
+++ b/INDEX
@@ -5,26 +5,26 @@
 Makefile.in     template for Unix Makefile
 README          guess what
 configure       configure script for Unix
-make_vms.com	makefile for VMS
-treebuild.xml	XML description of source file dependencies
-zconf.in.h	zconf.h template for configure
-zlib.3		Man page for zlib
-zlib.map	Linux symbol information
-zlib.pc.in	Template for pkg-config descriptor
-zlib2ansi	perl script to convert source files for C++ compilation
+make_vms.com    makefile for VMS
+treebuild.xml   XML description of source file dependencies
+zconf.in.h      zconf.h template for configure
+zlib.3          Man page for zlib
+zlib.map        Linux symbol information
+zlib.pc.in      Template for pkg-config descriptor
+zlib2ansi       perl script to convert source files for C++ compilation
 
 amiga/          makefiles for Amiga SAS C
 as400/          makefiles for IBM AS/400
-doc/		documentation for formats and algorithms
+doc/            documentation for formats and algorithms
 msdos/          makefiles for MSDOS
-nintendods/	makefile for Nintendo DS
-objs/		destination for object files
+nintendods/     makefile for Nintendo DS
+objs/           destination for object files
 old/            makefiles for various architectures and zlib documentation
                 files that have not yet been updated for zlib 1.2.x
-pics/		destination for position-independent-code object files
+pics/           destination for position-independent-code object files
 projects/       projects for various Integrated Development Environments
 qnx/            makefiles for QNX
-watcom/		makefiles for OpenWatcom
+watcom/         makefiles for OpenWatcom
 win32/          makefiles for Windows
 
                 zlib public header files (required for library use):
diff --git a/Makefile.in b/Makefile.in
index 99945a8..a8d10ba 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -32,7 +32,7 @@
 
 STATICLIB=libz.a
 SHAREDLIB=libz.so
-SHAREDLIBV=libz.so.1.2.3.7
+SHAREDLIBV=libz.so.1.2.3.8
 SHAREDLIBM=libz.so.1
 LIBS=$(STATICLIB) $(SHAREDLIB) $(SHAREDLIBV)
 
@@ -53,15 +53,16 @@
 OBJC = adler32.o compress.o crc32.o deflate.o gzclose.o gzio.o gzlib.o gzread.o \
 	gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o
 
-# to use the asm code: make OBJA=match.o
+PIC_OBJC = adler32.lo compress.lo crc32.lo deflate.lo gzclose.lo gzio.lo gzlib.lo gzread.lo \
+	gzwrite.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo uncompr.lo zutil.lo
+
+# to use the asm code: make OBJA=match.o, PIC_OBJA=match.lo
 OBJA =
+PIC_OBJA =
 
-objdir = objs/
-picdir = pics/
+OBJS = $(OBJC) $(OBJA)
 
-OBJS = $(addprefix $(objdir), $(OBJC) $(OBJA))
-
-PIC_OBJS = $(addprefix $(picdir), $(OBJC) $(OBJA))
+PIC_OBJS = $(PIC_OBJC) $(PIC_OBJA)
 
 all: static shared
 
@@ -76,12 +77,10 @@
 test: all teststatic testshared
 
 teststatic: static
-	@echo hello world | ./minigzip | ./minigzip -d || \
-	  echo '		*** minigzip test FAILED ***' ; \
-	if ./example; then \
+	@if echo hello world | ./minigzip | ./minigzip -d && ./example; then \
 	  echo '		*** zlib test OK ***'; \
 	else \
-	  echo '		*** zlib test FAILED ***'; \
+	  echo '		*** zlib test FAILED ***'; false; \
 	fi
 	-@rm -f foo.gz
 
@@ -90,22 +89,18 @@
 	LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \
 	DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \
 	SHLIB_PATH=`pwd`:$(SHLIB_PATH) ; export SHLIB_PATH; \
-	echo hello world | ./minigzipsh | ./minigzipsh -d || \
-	  echo '		*** minigzip shared test FAILED ***' ; \
-	if ./examplesh; then \
+	if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh; then \
 	  echo '		*** zlib shared test OK ***'; \
 	else \
-	  echo '		*** zlib shared test FAILED ***'; \
+	  echo '		*** zlib shared test FAILED ***'; false; \
 	fi
 	-@rm -f foo.gz
 
 test64: all64
-	@echo hello world | ./minigzip64 | ./minigzip64 -d || \
-	  echo '		*** minigzip 64-bit test FAILED ***' ; \
-	if ./example64; then \
+	@if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64; then \
 	  echo '		*** zlib 64-bit test OK ***'; \
 	else \
-	  echo '		*** zlib 64-bit test FAILED ***'; \
+	  echo '		*** zlib 64-bit test FAILED ***'; false; \
 	fi
 	-@rm -f foo.gz
 
@@ -113,51 +108,55 @@
 	$(AR) $@ $(OBJS)
 	-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
 
-objs/match.o: match.S
+match.o: match.S
 	$(CPP) match.S > _match.s
-	$(CC) -c -o $@ _match.s
+	$(CC) -c _match.s
+	mv _match.o match.o
 	rm -f _match.s
 
-pics/match.o: match.S
+match.lo: match.S
 	$(CPP) match.S > _match.s
-	$(CC) -c -o $@ -fPIC _match.s
+	$(CC) -c -fPIC _match.s
+	mv _match.o match.lo
 	rm -f _match.s
 
-objs/example64.o: example.c zlib.h zconf.h
+example64.o: example.c zlib.h zconf.h
 	$(CC) $(CFLAGS) -D_FILE_OFFSET_BITS=64 -c -o $@ example.c
 
-objs/minigzip64.o: minigzip.c zlib.h zconf.h
+minigzip64.o: minigzip.c zlib.h zconf.h
 	$(CC) $(CFLAGS) -D_FILE_OFFSET_BITS=64 -c -o $@ minigzip.c
 
-$(objdir)%.o: %.c
-	$(CC) $(CFLAGS) -c -o $@ $<
+.SUFFIXES: .lo
 
-$(picdir)%.o: %.c
-	$(CC) $(SFLAGS) -DPIC -c -o $@ $<
+.c.lo:
+	-@if [ ! -d objs ]; then mkdir objs; fi
+	$(CC) $(SFLAGS) -DPIC -c -o objs/$*.o $<
+	-@mv objs/$*.o $@
 
 $(SHAREDLIBV): $(PIC_OBJS)
 	$(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) -lc
 	rm -f $(SHAREDLIB) $(SHAREDLIBM)
 	ln -s $@ $(SHAREDLIB)
 	ln -s $@ $(SHAREDLIBM)
+	-@rmdir objs
 
-example$(EXE): objs/example.o $(STATICLIB)
-	$(CC) $(CFLAGS) -o $@ objs/example.o $(LDFLAGS)
+example$(EXE): example.o $(STATICLIB)
+	$(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS)
 
-minigzip$(EXE): objs/minigzip.o $(STATICLIB)
-	$(CC) $(CFLAGS) -o $@ objs/minigzip.o $(LDFLAGS)
+minigzip$(EXE): minigzip.o $(STATICLIB)
+	$(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
 
-examplesh$(EXE): objs/example.o $(SHAREDLIBV)
-	$(CC) $(CFLAGS) -o $@ objs/example.o -L. $(SHAREDLIBV)
+examplesh$(EXE): example.o $(SHAREDLIBV)
+	$(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
 
-minigzipsh$(EXE): objs/minigzip.o $(SHAREDLIBV)
-	$(CC) $(CFLAGS) -o $@ objs/minigzip.o -L. $(SHAREDLIBV)
+minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
+	$(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
 
-example64$(EXE): objs/example64.o $(STATICLIB)
-	$(CC) $(CFLAGS) -o $@ objs/example64.o $(LDFLAGS)
+example64$(EXE): example64.o $(STATICLIB)
+	$(CC) $(CFLAGS) -o $@ example64.o $(LDFLAGS)
 
-minigzip64$(EXE): objs/minigzip64.o $(STATICLIB)
-	$(CC) $(CFLAGS) -o $@ objs/minigzip64.o $(LDFLAGS)
+minigzip64$(EXE): minigzip64.o $(STATICLIB)
+	$(CC) $(CFLAGS) -o $@ minigzip64.o $(LDFLAGS)
 
 install-libs: $(LIBS)
 	-@if [ ! -d $(DESTDIR)$(exec_prefix)  ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
@@ -196,18 +195,19 @@
 
 mostlyclean: clean
 clean:
-	rm -f $(objdir)* $(picdir)* *~ \
+	rm -f *.o *.lo *~ \
 	   example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
 	   example64$(EXE) minigzip64$(EXE) \
 	   libz.* foo.gz so_locations \
 	   _match.s maketree contrib/infback9/*.o
+	rm -rf objs
 
 maintainer-clean: distclean
 distclean: clean
 	cp -p zconf.in.h zconf.h
 	rm -f zlib.pc .DS_Store
 	-@printf 'all:\n\t-@echo "Use ./configure first.  Thank you."\n' > Makefile
-	-@ touch -r Makefile.in Makefile objs pics
+	-@touch -r Makefile.in Makefile
 
 tags:
 	etags *.[ch]
@@ -226,3 +226,13 @@
 inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
 inftrees.o: zutil.h zlib.h zconf.h inftrees.h
 trees.o: deflate.h zutil.h zlib.h zconf.h trees.h
+
+adler32.lo gzio.lo zutil.lo: zutil.h zlib.h zconf.h
+gzclose.lo gzlib.lo gzread.lo gzwrite.lo: zlib.h zconf.h gzguts.h
+compress.lo example.lo minigzip.lo uncompr.lo: zlib.h zconf.h
+crc32.lo: zutil.h zlib.h zconf.h crc32.h
+deflate.lo: deflate.h zutil.h zlib.h zconf.h
+infback.lo inflate.lo: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h inffixed.h
+inffast.lo: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
+inftrees.lo: zutil.h zlib.h zconf.h inftrees.h
+trees.lo: deflate.h zutil.h zlib.h zconf.h trees.h
diff --git a/README b/README
index f8f37f5..f72a1a4 100644
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
 ZLIB DATA COMPRESSION LIBRARY
 
-zlib 1.2.3.7 is a general purpose data compression library.  All the code is
+zlib 1.2.3.8 is a general purpose data compression library.  All the code is
 thread safe.  The data format used by the zlib library is described by RFCs
 (Request for Comments) 1950 to 1952 in the files
 http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
@@ -33,7 +33,7 @@
 issue of  Dr. Dobb's Journal; a copy of the article is available in
 http://dogma.net/markn/articles/zlibtool/zlibtool.htm
 
-The changes made in version 1.2.3.7 are documented in the file ChangeLog.
+The changes made in version 1.2.3.8 are documented in the file ChangeLog.
 
 Unsupported third party contributions are provided in directory "contrib".
 
diff --git a/as400/zlib.inc b/as400/zlib.inc
index cfcbfc8..b5e673b 100644
--- a/as400/zlib.inc
+++ b/as400/zlib.inc
@@ -1,7 +1,7 @@
       *  ZLIB.INC - Interface to the general purpose compression library
       *
       *  ILE RPG400 version by Patrick Monnerat, DATASPHERE.
-      *  Version 1.2.3.7
+      *  Version 1.2.3.8
       *
       *
       *  WARNING:
@@ -22,8 +22,8 @@
       *
       *  Versioning information.
       *
-     D ZLIB_VERSION    C                   '1.2.3.7'
-     D ZLIB_VERNUM     C                   X'1237'
+     D ZLIB_VERSION    C                   '1.2.3.8'
+     D ZLIB_VERNUM     C                   X'1238'
       *
       *  Other equates.
       *
diff --git a/configure b/configure
index 5f0ed6e..66ccbbb 100755
--- a/configure
+++ b/configure
@@ -30,6 +30,7 @@
 shared_ext='.so'
 shared=1
 zprefix=0
+build64=0
 gcc=0
 old_cc="$CC"
 old_cflags="$CFLAGS"
@@ -39,8 +40,8 @@
 case "$1" in
     -h* | --help)
       echo 'usage:'
-      echo '  configure [--shared] [--prefix=PREFIX]  [--exec_prefix=EXPREFIX]'
-      echo '     [--libdir=LIBDIR] [--includedir=INCLUDEDIR] [--zprefix]'
+      echo '  configure [--zprefix] [--prefix=PREFIX]  [--eprefix=EXPREFIX]'
+      echo '    [--static] [--64] [--libdir=LIBDIR] [--includedir=INCLUDEDIR]'
         exit 0 ;;
     -p*=* | --prefix=*) prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift ;;
     -e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift ;;
@@ -54,6 +55,7 @@
     -s* | --shared | --enable-shared) shared=1; shift ;;
     -t | --static) shared=0; shift ;;
     -z* | --zprefix) zprefix=1; shift ;;
+    -6* | --64) build64=1; shift ;;
     --sysconfdir=*) echo "ignored option: --sysconfdir"; shift ;;
     --localstatedir=*) echo "ignored option: --localstatedir"; shift ;;
     *) echo "unknown option: $1"; echo "$0 --help for help"; exit 1 ;;
@@ -78,6 +80,10 @@
   CC="$cc"
   SFLAGS="${CFLAGS-"-O3"} -fPIC"
   CFLAGS="${CFLAGS-"-O3"}"
+  if test $build64 -eq 1; then
+    CFLAGS="${CFLAGS} -m64"
+    SFLAGS="${SFLAGS} -m64"
+  fi
   if test "${ZLIBGCCWARN}" = "YES"; then
     CFLAGS="${CFLAGS} -Wall -Wextra -pedantic"
   fi
@@ -191,7 +197,7 @@
   echo Checking for shared library support...
   # we must test in two steps (cc then ld), required at least on SunOS 4.x
   if test "`($CC -w -c $SFLAGS $test.c) 2>&1`" = "" &&
-     test "`($LDSHARED -o $test$shared_ext $test.o) 2>&1`" = ""; then
+     test "`($LDSHARED $SFLAGS -o $test$shared_ext $test.o) 2>&1`" = ""; then
     echo Building shared library $SHAREDLIBV with $CC.
   elif test -z "$old_cc" -a -z "$old_cflags"; then
     echo No shared library support.
@@ -199,8 +205,8 @@
   else
     echo Tested $CC -w -c $SFLAGS $test.c
     $CC -w -c $SFLAGS $test.c
-    echo Tested $LDSHARED -o $test$shared_ext $test.o
-    $LDSHARED -o $test$shared_ext $test.o
+    echo Tested $LDSHARED $SFLAGS -o $test$shared_ext $test.o
+    $LDSHARED $SFLAGS -o $test$shared_ext $test.o
     echo 'No shared library support; try without defining CC and CFLAGS'
     shared=0;
   fi
diff --git a/contrib/contrib/minizip/ioapi.h b/contrib/contrib/minizip/ioapi.h
new file mode 100644
index 0000000..e0e78ce
--- /dev/null
+++ b/contrib/contrib/minizip/ioapi.h
@@ -0,0 +1,196 @@
+/* ioapi.h -- IO base function header for compress/uncompress .zip
+   part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+	 Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+	 Modifications for Zip64 support 
+	 Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+
+	 For more info read MiniZip_info.txt
+
+	 Changes
+
+    Oct-2009 - Defined ZPOS64_T to fpos_t on windows and u_int64_t on linux. (might need to find a better why for this)
+    Oct-2009 - Change to fseeko64, ftello64 and fopen64 so large files would work on linux.
+               More if/def section may be needed to support other platforms
+    Oct-2009 - Defined fxxxx64 calls to normal fopen/ftell/fseek so they would compile on windows. 
+		          (but you should use iowin32.c for windows instead)
+
+*/
+
+#ifndef _ZLIBIOAPI64_H
+#define _ZLIBIOAPI64_H
+
+#include "zlib.h"
+
+#ifndef _WIN32 
+
+  // Linux needs this to support file operation on files larger then 4+GB
+  // But might need better if/def to select just the platforms that needs them.
+
+	#ifndef __USE_FILE_OFFSET64
+		#define __USE_FILE_OFFSET64
+	#endif
+	#ifndef __USE_LARGEFILE64
+		#define __USE_LARGEFILE64
+	#endif
+	#ifndef _LARGEFILE64_SOURCE
+		#define _LARGEFILE64_SOURCE
+	#endif
+	#ifndef _FILE_OFFSET_BIT
+		#define _FILE_OFFSET_BIT 64
+	#endif
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+
+
+#ifdef _MSC_VER
+ #define fopen64 fopen
+ #if _MSC_VER >= 1400
+  #define ftello64 _ftelli64
+  #define fseeko64 _fseeki64
+ #else // old MSC
+  #define ftello64 ftell
+  #define fseeko64 fseek
+ #endif
+#endif
+
+/*
+#ifndef ZPOS64_T
+  #ifdef _WIN32
+		#define ZPOS64_T fpos_t
+  #else
+    #include <stdint.h>       	
+    #define ZPOS64_T uint64_t
+  #endif
+#endif
+*/
+
+#ifdef HAVE_MINIZIP64_CONF_H
+#include "mz64conf.h"
+#endif
+
+/* a type choosen by DEFINE */
+#ifdef HAVE_64BIT_INT_CUSTOM
+typedef  64BIT_INT_CUSTOM_TYPE ZPOS64_T;
+#else
+#ifdef HAS_STDINT_H
+#include "stdint.h"
+typedef uint64_t ZPOS64_T;
+#else
+
+
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+typedef unsigned __int64 ZPOS64_T;
+#else
+typedef unsigned long long int ZPOS64_T;
+#endif
+#endif
+#endif
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define ZLIB_FILEFUNC_SEEK_CUR (1)
+#define ZLIB_FILEFUNC_SEEK_END (2)
+#define ZLIB_FILEFUNC_SEEK_SET (0)
+
+#define ZLIB_FILEFUNC_MODE_READ      (1)
+#define ZLIB_FILEFUNC_MODE_WRITE     (2)
+#define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3)
+
+#define ZLIB_FILEFUNC_MODE_EXISTING (4)
+#define ZLIB_FILEFUNC_MODE_CREATE   (8)
+
+
+#ifndef ZCALLBACK
+ #if (defined(WIN32) || defined(_WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK)
+   #define ZCALLBACK CALLBACK
+ #else
+   #define ZCALLBACK
+ #endif
+#endif
+
+
+
+
+typedef voidpf   (ZCALLBACK *open_file_func)      OF((voidpf opaque, const char* filename, int mode));
+typedef uLong    (ZCALLBACK *read_file_func)      OF((voidpf opaque, voidpf stream, void* buf, uLong size));
+typedef uLong    (ZCALLBACK *write_file_func)     OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
+typedef int      (ZCALLBACK *close_file_func)     OF((voidpf opaque, voidpf stream));
+typedef int      (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream));
+
+typedef long     (ZCALLBACK *tell_file_func)      OF((voidpf opaque, voidpf stream));
+typedef long     (ZCALLBACK *seek_file_func)      OF((voidpf opaque, voidpf stream, uLong offset, int origin));
+
+
+/* here is the "old" 32 bits structure structure */
+typedef struct zlib_filefunc_def_s
+{
+    open_file_func      zopen_file;
+    read_file_func      zread_file;
+    write_file_func     zwrite_file;
+    tell_file_func      ztell_file;
+    seek_file_func      zseek_file;
+    close_file_func     zclose_file;
+    testerror_file_func zerror_file;
+    voidpf              opaque;
+} zlib_filefunc_def;
+
+typedef ZPOS64_T (ZCALLBACK *tell64_file_func)    OF((voidpf opaque, voidpf stream));
+typedef long     (ZCALLBACK *seek64_file_func)    OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
+typedef voidpf   (ZCALLBACK *open64_file_func)    OF((voidpf opaque, const void* filename, int mode));
+
+typedef struct zlib_filefunc64_def_s
+{
+    open64_file_func    zopen64_file;
+    read_file_func      zread_file;
+    write_file_func     zwrite_file;
+    tell64_file_func    ztell64_file;
+    seek64_file_func    zseek64_file;
+    close_file_func     zclose_file;
+    testerror_file_func zerror_file;
+    voidpf              opaque;
+} zlib_filefunc64_def;
+
+void fill_fopen64_filefunc OF((zlib_filefunc64_def* pzlib_filefunc_def));
+void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
+
+/* now internal definition, only for zip.c and unzip.h */
+typedef struct zlib_filefunc64_32_def_s
+{
+    zlib_filefunc64_def zfile_func64;
+    open_file_func      zopen32_file;
+    tell_file_func      ztell32_file;
+    seek_file_func      zseek32_file;
+} zlib_filefunc64_32_def;
+
+
+#define ZREAD64(filefunc,filestream,buf,size)     ((*((filefunc).zfile_func64.zread_file))   ((filefunc).zfile_func64.opaque,filestream,buf,size))
+#define ZWRITE64(filefunc,filestream,buf,size)    ((*((filefunc).zfile_func64.zwrite_file))  ((filefunc).zfile_func64.opaque,filestream,buf,size))
+//#define ZTELL64(filefunc,filestream)            ((*((filefunc).ztell64_file)) ((filefunc).opaque,filestream))
+//#define ZSEEK64(filefunc,filestream,pos,mode)   ((*((filefunc).zseek64_file)) ((filefunc).opaque,filestream,pos,mode))
+#define ZCLOSE64(filefunc,filestream)             ((*((filefunc).zfile_func64.zclose_file))  ((filefunc).zfile_func64.opaque,filestream))
+#define ZERROR64(filefunc,filestream)             ((*((filefunc).zfile_func64.zerror_file))  ((filefunc).zfile_func64.opaque,filestream))
+
+voidpf call_zopen64 OF((const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode));
+long    call_zseek64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin));
+ZPOS64_T call_ztell64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream));
+
+void    fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32);
+
+#define ZOPEN64(filefunc,filename,mode)         (call_zopen64((&(filefunc)),(filename),(mode)))
+#define ZTELL64(filefunc,filestream)            (call_ztell64((&(filefunc)),(filestream)))
+#define ZSEEK64(filefunc,filestream,pos,mode)   (call_zseek64((&(filefunc)),(filestream),(pos),(mode)))
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/contrib/contrib/minizip/iowin32.c b/contrib/contrib/minizip/iowin32.c
new file mode 100644
index 0000000..2b69466
--- /dev/null
+++ b/contrib/contrib/minizip/iowin32.c
@@ -0,0 +1,389 @@
+/* iowin32.c -- IO base function header for compress/uncompress .zip
+     Version 1.1, January 7th, 2010
+     part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+	 Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+	 Modifications for Zip64 support 
+	 Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+
+     For more info read MiniZip_info.txt
+
+*/
+
+#include <stdlib.h>
+
+#include "zlib.h"
+#include "ioapi.h"
+#include "iowin32.h"
+
+#ifndef INVALID_HANDLE_VALUE
+#define INVALID_HANDLE_VALUE (0xFFFFFFFF)
+#endif
+
+#ifndef INVALID_SET_FILE_POINTER
+#define INVALID_SET_FILE_POINTER ((DWORD)-1)
+#endif
+
+voidpf  ZCALLBACK win32_open_file_func  OF((voidpf opaque, const char* filename, int mode));
+uLong   ZCALLBACK win32_read_file_func  OF((voidpf opaque, voidpf stream, void* buf, uLong size));
+uLong   ZCALLBACK win32_write_file_func OF((voidpf opaque, voidpf stream, const void* buf, uLong size));
+ZPOS64_T ZCALLBACK win32_tell64_file_func  OF((voidpf opaque, voidpf stream));
+long    ZCALLBACK win32_seek64_file_func  OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin));
+int     ZCALLBACK win32_close_file_func OF((voidpf opaque, voidpf stream));
+int     ZCALLBACK win32_error_file_func OF((voidpf opaque, voidpf stream));
+
+typedef struct
+{
+    HANDLE hf;
+    int error;
+} WIN32FILE_IOWIN;
+
+
+static void win32_translate_open_mode(int mode,
+                                      DWORD* lpdwDesiredAccess,
+                                      DWORD* lpdwCreationDisposition,
+                                      DWORD* lpdwShareMode,
+                                      DWORD* lpdwFlagsAndAttributes)
+{
+    *lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreationDisposition = 0;
+
+    if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
+    {
+        *lpdwDesiredAccess = GENERIC_READ;
+        *lpdwCreationDisposition = OPEN_EXISTING;
+        *lpdwShareMode = FILE_SHARE_READ;
+    }
+    else if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
+    {
+        *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
+        *lpdwCreationDisposition = OPEN_EXISTING;
+    }
+    else if (mode & ZLIB_FILEFUNC_MODE_CREATE)
+    {
+        *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
+        *lpdwCreationDisposition = CREATE_ALWAYS;
+    }
+}
+
+static voidpf win32_build_iowin(HANDLE hFile)
+{
+    voidpf ret=NULL;
+
+    if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE))
+    {
+        WIN32FILE_IOWIN w32fiow;
+        w32fiow.hf = hFile;
+        w32fiow.error = 0;
+        ret = malloc(sizeof(WIN32FILE_IOWIN));
+
+        if (ret==NULL)
+            CloseHandle(hFile);
+        else
+            *((WIN32FILE_IOWIN*)ret) = w32fiow;
+    }
+    return ret;
+}
+
+voidpf ZCALLBACK win32_open64_file_func (voidpf opaque,const void* filename,int mode)
+{
+    const char* mode_fopen = NULL;
+    DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
+    HANDLE hFile = NULL;
+
+    win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
+
+    if ((filename!=NULL) && (dwDesiredAccess != 0))
+        hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
+
+    return win32_build_iowin(hFile);
+}
+
+
+voidpf ZCALLBACK win32_open64_file_funcA (voidpf opaque,const void* filename,int mode)
+{
+    const char* mode_fopen = NULL;
+    DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
+    HANDLE hFile = NULL;
+
+    win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
+
+    if ((filename!=NULL) && (dwDesiredAccess != 0))
+        hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
+
+    return win32_build_iowin(hFile);
+}
+
+
+voidpf ZCALLBACK win32_open64_file_funcW (voidpf opaque,const void* filename,int mode)
+{
+    const char* mode_fopen = NULL;
+    DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
+    HANDLE hFile = NULL;
+
+    win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
+
+    if ((filename!=NULL) && (dwDesiredAccess != 0))
+        hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
+
+    return win32_build_iowin(hFile);
+}
+
+
+voidpf ZCALLBACK win32_open_file_func (voidpf opaque,const char* filename,int mode)
+{
+    const char* mode_fopen = NULL;
+    DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
+    HANDLE hFile = NULL;
+
+    win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);
+
+    if ((filename!=NULL) && (dwDesiredAccess != 0))
+        hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
+
+    return win32_build_iowin(hFile);
+}
+
+
+uLong ZCALLBACK win32_read_file_func (voidpf opaque, voidpf stream, void* buf,uLong size)
+{
+    uLong ret=0;
+    HANDLE hFile = NULL;
+    if (stream!=NULL)
+        hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
+
+    if (hFile != NULL)
+    {
+        if (!ReadFile(hFile, buf, size, &ret, NULL))
+        {
+            DWORD dwErr = GetLastError();
+            if (dwErr == ERROR_HANDLE_EOF)
+                dwErr = 0;
+            ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+        }
+    }
+
+    return ret;
+}
+
+
+uLong ZCALLBACK win32_write_file_func (voidpf opaque,voidpf stream,const void* buf,uLong size)
+{
+    uLong ret=0;
+    HANDLE hFile = NULL;
+    if (stream!=NULL)
+        hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
+
+    if (hFile != NULL)
+    {
+        if (!WriteFile(hFile, buf, size, &ret, NULL))
+        {
+            DWORD dwErr = GetLastError();
+            if (dwErr == ERROR_HANDLE_EOF)
+                dwErr = 0;
+            ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+        }
+    }
+
+    return ret;
+}
+
+long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
+{
+    long ret=-1;
+    HANDLE hFile = NULL;
+    if (stream!=NULL)
+        hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
+    if (hFile != NULL)
+    {
+        DWORD dwSet = SetFilePointer(hFile, 0, NULL, FILE_CURRENT);
+        if (dwSet == INVALID_SET_FILE_POINTER)
+        {
+            DWORD dwErr = GetLastError();
+            ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+            ret = -1;
+        }
+        else
+            ret=(long)dwSet;
+    }
+    return ret;
+}
+
+ZPOS64_T ZCALLBACK win32_tell64_file_func (voidpf opaque, voidpf stream)
+{
+    ZPOS64_T ret= (ZPOS64_T)-1;
+    HANDLE hFile = NULL;
+    if (stream!=NULL)
+        hFile = ((WIN32FILE_IOWIN*)stream)->hf;
+
+    if (hFile)
+    {
+        LARGE_INTEGER li;
+        li.QuadPart = 0;
+        li.u.LowPart = SetFilePointer(hFile, li.u.LowPart, &li.u.HighPart, FILE_CURRENT);
+        if ( (li.LowPart == 0xFFFFFFFF) && (GetLastError() != NO_ERROR))
+        {
+            DWORD dwErr = GetLastError();
+            ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+            ret = (ZPOS64_T)-1;
+        }
+        else
+            ret=li.QuadPart;
+    }
+    return ret;
+}
+
+
+long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong offset,int origin)
+{
+    DWORD dwMoveMethod=0xFFFFFFFF;
+    HANDLE hFile = NULL;
+
+    long ret=-1;
+    if (stream!=NULL)
+        hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
+    switch (origin)
+    {
+    case ZLIB_FILEFUNC_SEEK_CUR :
+        dwMoveMethod = FILE_CURRENT;
+        break;
+    case ZLIB_FILEFUNC_SEEK_END :
+        dwMoveMethod = FILE_END;
+        break;
+    case ZLIB_FILEFUNC_SEEK_SET :
+        dwMoveMethod = FILE_BEGIN;
+        break;
+    default: return -1;
+    }
+
+    if (hFile != NULL)
+    {
+        DWORD dwSet = SetFilePointer(hFile, offset, NULL, dwMoveMethod);
+        if (dwSet == INVALID_SET_FILE_POINTER)
+        {
+            DWORD dwErr = GetLastError();
+            ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+            ret = -1;
+        }
+        else
+            ret=0;
+    }
+    return ret;
+}
+
+long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T offset,int origin)
+{
+    DWORD dwMoveMethod=0xFFFFFFFF;
+    HANDLE hFile = NULL;
+    long ret=-1;
+
+    if (stream!=NULL)
+        hFile = ((WIN32FILE_IOWIN*)stream)->hf;
+
+    switch (origin)
+    {
+        case ZLIB_FILEFUNC_SEEK_CUR :
+            dwMoveMethod = FILE_CURRENT;
+            break;
+        case ZLIB_FILEFUNC_SEEK_END :
+            dwMoveMethod = FILE_END;
+            break;
+        case ZLIB_FILEFUNC_SEEK_SET :
+            dwMoveMethod = FILE_BEGIN;
+            break;
+        default: return -1;
+    }
+
+    if (hFile)
+    {
+        LARGE_INTEGER* li = (LARGE_INTEGER*)&offset;
+        DWORD dwSet = SetFilePointer(hFile, li->u.LowPart, &li->u.HighPart, dwMoveMethod);
+        if (dwSet == INVALID_SET_FILE_POINTER)
+        {
+            DWORD dwErr = GetLastError();
+            ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;
+            ret = -1;
+        }
+        else
+            ret=0;
+    }
+    return ret;
+}
+
+int ZCALLBACK win32_close_file_func (voidpf opaque, voidpf stream)
+{
+    int ret=-1;
+
+    if (stream!=NULL)
+    {
+        HANDLE hFile;
+        hFile = ((WIN32FILE_IOWIN*)stream) -> hf;
+        if (hFile != NULL)
+        {
+            CloseHandle(hFile);
+            ret=0;
+        }
+        free(stream);
+    }
+    return ret;
+}
+
+int ZCALLBACK win32_error_file_func (voidpf opaque,voidpf stream)
+{
+    int ret=-1;
+    if (stream!=NULL)
+    {
+        ret = ((WIN32FILE_IOWIN*)stream) -> error;
+    }
+    return ret;
+}
+
+extern void ZEXPORT fill_win32_filefunc (zlib_filefunc_def* pzlib_filefunc_def)
+{
+    pzlib_filefunc_def->zopen_file = win32_open_file_func;
+    pzlib_filefunc_def->zread_file = win32_read_file_func;
+    pzlib_filefunc_def->zwrite_file = win32_write_file_func;
+    pzlib_filefunc_def->ztell_file = win32_tell_file_func;
+    pzlib_filefunc_def->zseek_file = win32_seek_file_func;
+    pzlib_filefunc_def->zclose_file = win32_close_file_func;
+    pzlib_filefunc_def->zerror_file = win32_error_file_func;
+    pzlib_filefunc_def->opaque = NULL;
+}
+
+extern void ZEXPORT fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def)
+{
+    pzlib_filefunc_def->zopen64_file = win32_open64_file_func;
+    pzlib_filefunc_def->zread_file = win32_read_file_func;
+    pzlib_filefunc_def->zwrite_file = win32_write_file_func;
+    pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
+    pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
+    pzlib_filefunc_def->zclose_file = win32_close_file_func;
+    pzlib_filefunc_def->zerror_file = win32_error_file_func;
+    pzlib_filefunc_def->opaque = NULL;
+}
+
+
+extern void ZEXPORT fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def)
+{
+    pzlib_filefunc_def->zopen64_file = win32_open64_file_funcA;
+    pzlib_filefunc_def->zread_file = win32_read_file_func;
+    pzlib_filefunc_def->zwrite_file = win32_write_file_func;
+    pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
+    pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
+    pzlib_filefunc_def->zclose_file = win32_close_file_func;
+    pzlib_filefunc_def->zerror_file = win32_error_file_func;
+    pzlib_filefunc_def->opaque = NULL;
+}
+
+
+extern void ZEXPORT fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def)
+{
+    pzlib_filefunc_def->zopen64_file = win32_open64_file_funcW;
+    pzlib_filefunc_def->zread_file = win32_read_file_func;
+    pzlib_filefunc_def->zwrite_file = win32_write_file_func;
+    pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
+    pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
+    pzlib_filefunc_def->zclose_file = win32_close_file_func;
+    pzlib_filefunc_def->zerror_file = win32_error_file_func;
+    pzlib_filefunc_def->opaque = NULL;
+}
diff --git a/contrib/contrib/minizip/iowin32.h b/contrib/contrib/minizip/iowin32.h
new file mode 100644
index 0000000..3d5827f
--- /dev/null
+++ b/contrib/contrib/minizip/iowin32.h
@@ -0,0 +1,28 @@
+/* iowin32.h -- IO base function header for compress/uncompress .zip
+     Version 1.1, January 7th, 2010
+     part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+	 Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+	 Modifications for Zip64 support 
+	 Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+
+	 For more info read MiniZip_info.txt
+
+*/
+
+#include <windows.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void ZEXPORT fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def));
+extern void ZEXPORT fill_win32_filefunc64 OF((zlib_filefunc64_def* pzlib_filefunc_def));
+extern void ZEXPORT fill_win32_filefunc64A OF((zlib_filefunc64_def* pzlib_filefunc_def));
+extern void ZEXPORT fill_win32_filefunc64W OF((zlib_filefunc64_def* pzlib_filefunc_def));
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/contrib/contrib/minizip/miniunz.c b/contrib/contrib/minizip/miniunz.c
new file mode 100644
index 0000000..6b03e1f
--- /dev/null
+++ b/contrib/contrib/minizip/miniunz.c
@@ -0,0 +1,649 @@
+/*
+   miniunz.c
+   Version 1.1, January 7th, 2010
+   sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+	 Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+	 Modifications of Unzip for Zip64
+	 Copyright (C) 2007-2008 Even Rouault
+
+	 Modifications for Zip64 support on both zip and unzip
+	 Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+*/
+
+#include "unzip.h"
+
+#ifndef _WIN32 
+	#ifndef __USE_FILE_OFFSET64
+		#define __USE_FILE_OFFSET64
+	#endif
+	#ifndef __USE_LARGEFILE64
+		#define __USE_LARGEFILE64
+	#endif
+	#ifndef _LARGEFILE64_SOURCE
+		#define _LARGEFILE64_SOURCE
+	#endif
+	#ifndef _FILE_OFFSET_BIT
+		#define _FILE_OFFSET_BIT 64
+	#endif
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <errno.h>
+#include <fcntl.h>
+
+#ifdef unix
+# include <unistd.h>
+# include <utime.h>
+#else
+# include <direct.h>
+# include <io.h>
+#endif
+
+
+#define CASESENSITIVITY (0)
+#define WRITEBUFFERSIZE (8192)
+#define MAXFILENAME (256)
+
+#ifdef _WIN32
+#define USEWIN32IOAPI
+#include "iowin32.h"
+#endif
+/*
+  mini unzip, demo of unzip package
+
+  usage :
+  Usage : miniunz [-exvlo] file.zip [file_to_extract] [-d extractdir]
+
+  list the file in the zipfile, and print the content of FILE_ID.ZIP or README.TXT
+    if it exists
+*/
+
+
+/* change_file_date : change the date/time of a file
+    filename : the filename of the file where date/time must be modified
+    dosdate : the new date at the MSDos format (4 bytes)
+    tmu_date : the SAME new date at the tm_unz format */
+void change_file_date(filename,dosdate,tmu_date)
+    const char *filename;
+    uLong dosdate;
+    tm_unz tmu_date;
+{
+#ifdef _WIN32
+  HANDLE hFile;
+  FILETIME ftm,ftLocal,ftCreate,ftLastAcc,ftLastWrite;
+
+  hFile = CreateFileA(filename,GENERIC_READ | GENERIC_WRITE,
+                      0,NULL,OPEN_EXISTING,0,NULL);
+  GetFileTime(hFile,&ftCreate,&ftLastAcc,&ftLastWrite);
+  DosDateTimeToFileTime((WORD)(dosdate>>16),(WORD)dosdate,&ftLocal);
+  LocalFileTimeToFileTime(&ftLocal,&ftm);
+  SetFileTime(hFile,&ftm,&ftLastAcc,&ftm);
+  CloseHandle(hFile);
+#else
+#ifdef unix
+  struct utimbuf ut;
+  struct tm newdate;
+  newdate.tm_sec = tmu_date.tm_sec;
+  newdate.tm_min=tmu_date.tm_min;
+  newdate.tm_hour=tmu_date.tm_hour;
+  newdate.tm_mday=tmu_date.tm_mday;
+  newdate.tm_mon=tmu_date.tm_mon;
+  if (tmu_date.tm_year > 1900)
+      newdate.tm_year=tmu_date.tm_year - 1900;
+  else
+      newdate.tm_year=tmu_date.tm_year ;
+  newdate.tm_isdst=-1;
+
+  ut.actime=ut.modtime=mktime(&newdate);
+  utime(filename,&ut);
+#endif
+#endif
+}
+
+
+/* mymkdir and change_file_date are not 100 % portable
+   As I don't know well Unix, I wait feedback for the unix portion */
+
+int mymkdir(dirname)
+    const char* dirname;
+{
+    int ret=0;
+#ifdef _WIN32
+    ret = _mkdir(dirname);
+#else
+#ifdef unix
+    ret = mkdir (dirname,0775);
+#endif
+#endif
+    return ret;
+}
+
+int makedir (newdir)
+    char *newdir;
+{
+  char *buffer ;
+  char *p;
+  int  len = (int)strlen(newdir);
+
+  if (len <= 0)
+    return 0;
+
+  buffer = (char*)malloc(len+1);
+	if (buffer==NULL)
+	{
+		printf("Error allocating memory\n");
+		return UNZ_INTERNALERROR;
+	}
+  strcpy(buffer,newdir);
+
+  if (buffer[len-1] == '/') {
+    buffer[len-1] = '\0';
+  }
+  if (mymkdir(buffer) == 0)
+    {
+      free(buffer);
+      return 1;
+    }
+
+  p = buffer+1;
+  while (1)
+    {
+      char hold;
+
+      while(*p && *p != '\\' && *p != '/')
+        p++;
+      hold = *p;
+      *p = 0;
+      if ((mymkdir(buffer) == -1) && (errno == ENOENT))
+        {
+          printf("couldn't create directory %s\n",buffer);
+          free(buffer);
+          return 0;
+        }
+      if (hold == 0)
+        break;
+      *p++ = hold;
+    }
+  free(buffer);
+  return 1;
+}
+
+void do_banner()
+{
+    printf("MiniUnz 1.01b, demo of zLib + Unz package written by Gilles Vollant\n");
+    printf("more info at http://www.winimage.com/zLibDll/unzip.html\n\n");
+}
+
+void do_help()
+{
+    printf("Usage : miniunz [-e] [-x] [-v] [-l] [-o] [-p password] file.zip [file_to_extr.] [-d extractdir]\n\n" \
+           "  -e  Extract without pathname (junk paths)\n" \
+           "  -x  Extract with pathname\n" \
+           "  -v  list files\n" \
+           "  -l  list files\n" \
+           "  -d  directory to extract into\n" \
+           "  -o  overwrite files without prompting\n" \
+           "  -p  extract crypted file using password\n\n");
+}
+
+void Display64BitsSize(ZPOS64_T n, int size_char)
+{
+  /* to avoid compatibility problem , we do here the conversion */
+  char number[21];
+  int offset=19;
+  int pos_string = 19;
+  number[20]=0;
+  for (;;) {
+      number[offset]=(char)((n%10)+'0');
+      if (number[offset] != '0')
+          pos_string=offset;
+      n/=10;
+      if (offset==0)
+          break;
+      offset--;
+  }
+  {
+      int size_display_string = 19-pos_string;
+      while (size_char > size_display_string)
+      {
+          size_char--;
+          printf(" ");
+      }
+  }
+
+  printf("%s",&number[pos_string]);
+}
+
+int do_list(uf)
+    unzFile uf;
+{
+    uLong i;
+    unz_global_info64 gi;
+    int err;
+
+    err = unzGetGlobalInfo64(uf,&gi);
+    if (err!=UNZ_OK)
+        printf("error %d with zipfile in unzGetGlobalInfo \n",err);
+    printf("  Length  Method     Size Ratio   Date    Time   CRC-32     Name\n");
+    printf("  ------  ------     ---- -----   ----    ----   ------     ----\n");
+    for (i=0;i<gi.number_entry;i++)
+    {
+        char filename_inzip[256];
+        unz_file_info64 file_info;
+        uLong ratio=0;
+        const char *string_method;
+        char charCrypt=' ';
+        err = unzGetCurrentFileInfo64(uf,&file_info,filename_inzip,sizeof(filename_inzip),NULL,0,NULL,0);
+        if (err!=UNZ_OK)
+        {
+            printf("error %d with zipfile in unzGetCurrentFileInfo\n",err);
+            break;
+        }
+        if (file_info.uncompressed_size>0)
+            ratio = (uLong)((file_info.compressed_size*100)/file_info.uncompressed_size);
+
+        /* display a '*' if the file is crypted */
+        if ((file_info.flag & 1) != 0)
+            charCrypt='*';
+
+        if (file_info.compression_method==0)
+            string_method="Stored";
+        else
+        if (file_info.compression_method==Z_DEFLATED)
+        {
+            uInt iLevel=(uInt)((file_info.flag & 0x6)/2);
+            if (iLevel==0)
+              string_method="Defl:N";
+            else if (iLevel==1)
+              string_method="Defl:X";
+            else if ((iLevel==2) || (iLevel==3))
+              string_method="Defl:F"; /* 2:fast , 3 : extra fast*/
+        }
+        else
+        if (file_info.compression_method==Z_BZIP2ED)
+        {
+              string_method="BZip2 ";
+        }
+        else
+            string_method="Unkn. ";
+
+        Display64BitsSize(file_info.uncompressed_size,7);
+        printf("  %6s%c",string_method,charCrypt);
+        Display64BitsSize(file_info.compressed_size,7);
+        printf(" %3lu%%  %2.2lu-%2.2lu-%2.2lu  %2.2lu:%2.2lu  %8.8lx   %s\n",
+                ratio,
+                (uLong)file_info.tmu_date.tm_mon + 1,
+                (uLong)file_info.tmu_date.tm_mday,
+                (uLong)file_info.tmu_date.tm_year % 100,
+                (uLong)file_info.tmu_date.tm_hour,(uLong)file_info.tmu_date.tm_min,
+                (uLong)file_info.crc,filename_inzip);
+        if ((i+1)<gi.number_entry)
+        {
+            err = unzGoToNextFile(uf);
+            if (err!=UNZ_OK)
+            {
+                printf("error %d with zipfile in unzGoToNextFile\n",err);
+                break;
+            }
+        }
+    }
+
+    return 0;
+}
+
+
+int do_extract_currentfile(uf,popt_extract_without_path,popt_overwrite,password)
+    unzFile uf;
+    const int* popt_extract_without_path;
+    int* popt_overwrite;
+    const char* password;
+{
+    char filename_inzip[256];
+    char* filename_withoutpath;
+    char* p;
+    int err=UNZ_OK;
+    FILE *fout=NULL;
+    void* buf;
+    uInt size_buf;
+
+    unz_file_info64 file_info;
+    uLong ratio=0;
+    err = unzGetCurrentFileInfo64(uf,&file_info,filename_inzip,sizeof(filename_inzip),NULL,0,NULL,0);
+
+    if (err!=UNZ_OK)
+    {
+        printf("error %d with zipfile in unzGetCurrentFileInfo\n",err);
+        return err;
+    }
+
+    size_buf = WRITEBUFFERSIZE;
+    buf = (void*)malloc(size_buf);
+    if (buf==NULL)
+    {
+        printf("Error allocating memory\n");
+        return UNZ_INTERNALERROR;
+    }
+
+    p = filename_withoutpath = filename_inzip;
+    while ((*p) != '\0')
+    {
+        if (((*p)=='/') || ((*p)=='\\'))
+            filename_withoutpath = p+1;
+        p++;
+    }
+
+    if ((*filename_withoutpath)=='\0')
+    {
+        if ((*popt_extract_without_path)==0)
+        {
+            printf("creating directory: %s\n",filename_inzip);
+            mymkdir(filename_inzip);
+        }
+    }
+    else
+    {
+        const char* write_filename;
+        int skip=0;
+
+        if ((*popt_extract_without_path)==0)
+            write_filename = filename_inzip;
+        else
+            write_filename = filename_withoutpath;
+
+        err = unzOpenCurrentFilePassword(uf,password);
+        if (err!=UNZ_OK)
+        {
+            printf("error %d with zipfile in unzOpenCurrentFilePassword\n",err);
+        }
+
+        if (((*popt_overwrite)==0) && (err==UNZ_OK))
+        {
+            char rep=0;
+            FILE* ftestexist;
+            ftestexist = fopen64(write_filename,"rb");
+            if (ftestexist!=NULL)
+            {
+                fclose(ftestexist);
+                do
+                {
+                    char answer[128];
+                    int ret;
+
+                    printf("The file %s exists. Overwrite ? [y]es, [n]o, [A]ll: ",write_filename);
+                    ret = scanf("%1s",answer);
+                    if (ret != 1) 
+                    {
+                       exit(EXIT_FAILURE);
+                    }
+                    rep = answer[0] ;
+                    if ((rep>='a') && (rep<='z'))
+                        rep -= 0x20;
+                }
+                while ((rep!='Y') && (rep!='N') && (rep!='A'));
+            }
+
+            if (rep == 'N')
+                skip = 1;
+
+            if (rep == 'A')
+                *popt_overwrite=1;
+        }
+
+        if ((skip==0) && (err==UNZ_OK))
+        {
+            fout=fopen64(write_filename,"wb");
+
+            /* some zipfile don't contain directory alone before file */
+            if ((fout==NULL) && ((*popt_extract_without_path)==0) &&
+                                (filename_withoutpath!=(char*)filename_inzip))
+            {
+                char c=*(filename_withoutpath-1);
+                *(filename_withoutpath-1)='\0';
+                makedir(write_filename);
+                *(filename_withoutpath-1)=c;
+                fout=fopen64(write_filename,"wb");
+            }
+
+            if (fout==NULL)
+            {
+                printf("error opening %s\n",write_filename);
+            }
+        }
+
+        if (fout!=NULL)
+        {
+            printf(" extracting: %s\n",write_filename);
+
+            do
+            {
+                err = unzReadCurrentFile(uf,buf,size_buf);
+                if (err<0)
+                {
+                    printf("error %d with zipfile in unzReadCurrentFile\n",err);
+                    break;
+                }
+                if (err>0)
+                    if (fwrite(buf,err,1,fout)!=1)
+                    {
+                        printf("error in writing extracted file\n");
+                        err=UNZ_ERRNO;
+                        break;
+                    }
+            }
+            while (err>0);
+            if (fout)
+                    fclose(fout);
+
+            if (err==0)
+                change_file_date(write_filename,file_info.dosDate,
+                                 file_info.tmu_date);
+        }
+
+        if (err==UNZ_OK)
+        {
+            err = unzCloseCurrentFile (uf);
+            if (err!=UNZ_OK)
+            {
+                printf("error %d with zipfile in unzCloseCurrentFile\n",err);
+            }
+        }
+        else
+            unzCloseCurrentFile(uf); /* don't lose the error */
+    }
+
+    free(buf);
+    return err;
+}
+
+
+int do_extract(uf,opt_extract_without_path,opt_overwrite,password)
+    unzFile uf;
+    int opt_extract_without_path;
+    int opt_overwrite;
+    const char* password;
+{
+    uLong i;
+    unz_global_info64 gi;
+    int err;
+    FILE* fout=NULL;
+
+    err = unzGetGlobalInfo64(uf,&gi);
+    if (err!=UNZ_OK)
+        printf("error %d with zipfile in unzGetGlobalInfo \n",err);
+
+    for (i=0;i<gi.number_entry;i++)
+    {
+        if (do_extract_currentfile(uf,&opt_extract_without_path,
+                                      &opt_overwrite,
+                                      password) != UNZ_OK)
+            break;
+
+        if ((i+1)<gi.number_entry)
+        {
+            err = unzGoToNextFile(uf);
+            if (err!=UNZ_OK)
+            {
+                printf("error %d with zipfile in unzGoToNextFile\n",err);
+                break;
+            }
+        }
+    }
+
+    return 0;
+}
+
+int do_extract_onefile(uf,filename,opt_extract_without_path,opt_overwrite,password)
+    unzFile uf;
+    const char* filename;
+    int opt_extract_without_path;
+    int opt_overwrite;
+    const char* password;
+{
+    int err = UNZ_OK;
+    if (unzLocateFile(uf,filename,CASESENSITIVITY)!=UNZ_OK)
+    {
+        printf("file %s not found in the zipfile\n",filename);
+        return 2;
+    }
+
+    if (do_extract_currentfile(uf,&opt_extract_without_path,
+                                      &opt_overwrite,
+                                      password) == UNZ_OK)
+        return 0;
+    else
+        return 1;
+}
+
+
+int main(argc,argv)
+    int argc;
+    char *argv[];
+{
+    const char *zipfilename=NULL;
+    const char *filename_to_extract=NULL;
+    const char *password=NULL;
+    char filename_try[MAXFILENAME+16] = "";
+    int i;
+    int ret_value=0;
+    int opt_do_list=0;
+    int opt_do_extract=1;
+    int opt_do_extract_withoutpath=0;
+    int opt_overwrite=0;
+    int opt_extractdir=0;
+    const char *dirname=NULL;
+    unzFile uf=NULL;
+
+    do_banner();
+    if (argc==1)
+    {
+        do_help();
+        return 0;
+    }
+    else
+    {
+        for (i=1;i<argc;i++)
+        {
+            if ((*argv[i])=='-')
+            {
+                const char *p=argv[i]+1;
+
+                while ((*p)!='\0')
+                {
+                    char c=*(p++);;
+                    if ((c=='l') || (c=='L'))
+                        opt_do_list = 1;
+                    if ((c=='v') || (c=='V'))
+                        opt_do_list = 1;
+                    if ((c=='x') || (c=='X'))
+                        opt_do_extract = 1;
+                    if ((c=='e') || (c=='E'))
+                        opt_do_extract = opt_do_extract_withoutpath = 1;
+                    if ((c=='o') || (c=='O'))
+                        opt_overwrite=1;
+                    if ((c=='d') || (c=='D'))
+                    {
+                        opt_extractdir=1;
+                        dirname=argv[i+1];
+                    }
+
+                    if (((c=='p') || (c=='P')) && (i+1<argc))
+                    {
+                        password=argv[i+1];
+                        i++;
+                    }
+                }
+            }
+            else
+            {
+                if (zipfilename == NULL)
+                    zipfilename = argv[i];
+                else if ((filename_to_extract==NULL) && (!opt_extractdir))
+                        filename_to_extract = argv[i] ;
+            }
+        }
+    }
+
+    if (zipfilename!=NULL)
+    {
+
+#        ifdef USEWIN32IOAPI
+        zlib_filefunc64_def ffunc;
+#        endif
+
+        strncpy(filename_try, zipfilename,MAXFILENAME-1);
+        /* strncpy doesnt append the trailing NULL, of the string is too long. */
+        filename_try[ MAXFILENAME ] = '\0';
+
+#        ifdef USEWIN32IOAPI
+        fill_win32_filefunc64A(&ffunc);
+        uf = unzOpen2_64(zipfilename,&ffunc);
+#        else
+        uf = unzOpen64(zipfilename);
+#        endif
+        if (uf==NULL)
+        {
+            strcat(filename_try,".zip");
+#            ifdef USEWIN32IOAPI
+            uf = unzOpen2_64(filename_try,&ffunc);
+#            else
+            uf = unzOpen64(filename_try);
+#            endif
+        }
+    }
+
+    if (uf==NULL)
+    {
+        printf("Cannot open %s or %s.zip\n",zipfilename,zipfilename);
+        return 1;
+    }
+    printf("%s opened\n",filename_try);
+
+    if (opt_do_list==1)
+        ret_value = do_list(uf);
+    else if (opt_do_extract==1)
+    {
+#ifdef _WIN32
+        if (opt_extractdir && _chdir(dirname)) 
+#else
+        if (opt_extractdir && chdir(dirname)) 
+#endif
+        {
+          printf("Error changing into %s, aborting\n", dirname);
+          exit(-1);
+        }
+
+        if (filename_to_extract == NULL)
+            ret_value = do_extract(uf, opt_do_extract_withoutpath, opt_overwrite, password);
+        else
+            ret_value = do_extract_onefile(uf, filename_to_extract, opt_do_extract_withoutpath, opt_overwrite, password);
+    }
+
+    unzClose(uf);
+
+    return ret_value;
+}
diff --git a/contrib/contrib/minizip/minizip.c b/contrib/contrib/minizip/minizip.c
new file mode 100644
index 0000000..9e310e8
--- /dev/null
+++ b/contrib/contrib/minizip/minizip.c
@@ -0,0 +1,508 @@
+/*
+   minizip.c
+   Version 1.1, January 7th, 2010
+   sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
+
+	 Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
+
+	 Modifications of Unzip for Zip64
+	 Copyright (C) 2007-2008 Even Rouault
+
+	 Modifications for Zip64 support on both zip and unzip
+	 Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
+*/
+
+#include "zip.h"
+
+#ifndef _WIN32 
+	#ifndef __USE_FILE_OFFSET64
+		#define __USE_FILE_OFFSET64
+	#endif
+	#ifndef __USE_LARGEFILE64
+		#define __USE_LARGEFILE64
+	#endif
+	#ifndef _LARGEFILE64_SOURCE
+		#define _LARGEFILE64_SOURCE
+	#endif
+	#ifndef _FILE_OFFSET_BIT
+		#define _FILE_OFFSET_BIT 64
+	#endif
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <errno.h>
+#include <fcntl.h>
+
+#ifdef unix
+# include <unistd.h>
+# include <utime.h>
+# include <sys/types.h>
+# include <sys/stat.h>
+#else
+# include <direct.h>
+# include <io.h>
+#endif
+
+
+#ifdef _WIN32
+	#define USEWIN32IOAPI
+	#include "iowin32.h"
+#endif
+
+
+
+#define WRITEBUFFERSIZE (16384)
+#define MAXFILENAME (256)
+
+#ifdef _WIN32
+uLong filetime(f, tmzip, dt)
+    char *f;                /* name of file to get info on */
+    tm_zip *tmzip;             /* return value: access, modific. and creation times */
+    uLong *dt;             /* dostime */
+{
+  int ret = 0;
+  {
+      FILETIME ftLocal;
+      HANDLE hFind;
+      WIN32_FIND_DATAA ff32;
+
+      hFind = FindFirstFileA(f,&ff32);
+      if (hFind != INVALID_HANDLE_VALUE)
+      {
+        FileTimeToLocalFileTime(&(ff32.ftLastWriteTime),&ftLocal);
+        FileTimeToDosDateTime(&ftLocal,((LPWORD)dt)+1,((LPWORD)dt)+0);
+        FindClose(hFind);
+        ret = 1;
+      }
+  }
+  return ret;
+}
+#else
+#ifdef unix
+uLong filetime(f, tmzip, dt)
+    char *f;               /* name of file to get info on */
+    tm_zip *tmzip;         /* return value: access, modific. and creation times */
+    uLong *dt;             /* dostime */
+{
+  int ret=0;
+  struct stat s;        /* results of stat() */
+  struct tm* filedate;
+  time_t tm_t=0;
+
+  if (strcmp(f,"-")!=0)
+  {
+    char name[MAXFILENAME+1];
+    int len = strlen(f);
+    if (len > MAXFILENAME)
+      len = MAXFILENAME;
+
+    strncpy(name, f,MAXFILENAME-1);
+    /* strncpy doesnt append the trailing NULL, of the string is too long. */
+    name[ MAXFILENAME ] = '\0';
+
+    if (name[len - 1] == '/')
+      name[len - 1] = '\0';
+    /* not all systems allow stat'ing a file with / appended */
+    if (stat(name,&s)==0)
+    {
+      tm_t = s.st_mtime;
+      ret = 1;
+    }
+  }
+  filedate = localtime(&tm_t);
+
+  tmzip->tm_sec  = filedate->tm_sec;
+  tmzip->tm_min  = filedate->tm_min;
+  tmzip->tm_hour = filedate->tm_hour;
+  tmzip->tm_mday = filedate->tm_mday;
+  tmzip->tm_mon  = filedate->tm_mon ;
+  tmzip->tm_year = filedate->tm_year;
+
+  return ret;
+}
+#else
+uLong filetime(f, tmzip, dt)
+    char *f;                /* name of file to get info on */
+    tm_zip *tmzip;             /* return value: access, modific. and creation times */
+    uLong *dt;             /* dostime */
+{
+    return 0;
+}
+#endif
+#endif
+
+
+
+
+int check_exist_file(filename)
+    const char* filename;
+{
+    FILE* ftestexist;
+    int ret = 1;
+    ftestexist = fopen64(filename,"rb");
+    if (ftestexist==NULL)
+        ret = 0;
+    else
+        fclose(ftestexist);
+    return ret;
+}
+
+void do_banner()
+{
+    printf("MiniZip64 1.0, demo of zLib + MiniZip64 package, written by Gilles Vollant\n");
+    printf("more info on MiniZip at http://www.winimage.com/zLibDll/minizip.html\n\n");
+    printf("more info on MiniZip64 at http://result42.com/projects/MiniZip64\n\n");
+}
+
+void do_help()
+{
+    printf("Usage : minizip [-o] [-a] [-0 to -9] [-p password] [-j] file.zip [files_to_add]\n\n" \
+           "  -o  Overwrite existing file.zip\n" \
+           "  -a  Append to existing file.zip\n" \
+           "  -0  Store only\n" \
+           "  -1  Compress faster\n" \
+           "  -9  Compress better\n\n" \
+           "  -j  exclude path. store only the file name.\n\n");
+}
+
+/* calculate the CRC32 of a file,
+   because to encrypt a file, we need known the CRC32 of the file before */
+int getFileCrc(const char* filenameinzip,void*buf,unsigned long size_buf,unsigned long* result_crc)
+{
+   unsigned long calculate_crc=0;
+   int err=ZIP_OK;
+   FILE * fin = fopen64(filenameinzip,"rb");
+   unsigned long size_read = 0;
+   unsigned long total_read = 0;
+   if (fin==NULL)
+   {
+       err = ZIP_ERRNO;
+   }
+
+    if (err == ZIP_OK)
+        do
+        {
+            err = ZIP_OK;
+            size_read = (int)fread(buf,1,size_buf,fin);
+            if (size_read < size_buf)
+                if (feof(fin)==0)
+            {
+                printf("error in reading %s\n",filenameinzip);
+                err = ZIP_ERRNO;
+            }
+
+            if (size_read>0)
+                calculate_crc = crc32(calculate_crc,buf,size_read);
+            total_read += size_read;
+
+        } while ((err == ZIP_OK) && (size_read>0));
+
+    if (fin)
+        fclose(fin);
+
+    *result_crc=calculate_crc;
+    printf("file %s crc %lx\n", filenameinzip, calculate_crc);
+    return err;
+}
+
+int isLargeFile(const char* filename)
+{
+  int largeFile = 0;
+  ZPOS64_T pos = 0;
+  FILE* pFile = fopen64(filename, "rb");
+
+  if(pFile != NULL)
+  {
+    int n = fseeko64(pFile, 0, SEEK_END);
+
+    pos = ftello64(pFile);
+    
+		printf("File : %s is %lld bytes\n", filename, pos);
+    
+    if(pos >= 0xffffffff)
+     largeFile = 1;
+
+		fclose(pFile);
+  }
+  
+ return largeFile;
+}
+
+int main(argc,argv)
+    int argc;
+    char *argv[];
+{
+    int i;
+    int opt_overwrite=0;
+    int opt_compress_level=Z_DEFAULT_COMPRESSION;
+    int opt_exclude_path=0;
+    int zipfilenamearg = 0;
+    char filename_try[MAXFILENAME+16];
+    int zipok;
+    int err=0;
+    int size_buf=0;
+    void* buf=NULL;
+    const char* password=NULL;
+
+
+    do_banner();
+    if (argc==1)
+    {
+        do_help();
+        return 0;
+    }
+    else
+    {
+        for (i=1;i<argc;i++)
+        {
+            if ((*argv[i])=='-')
+            {
+                const char *p=argv[i]+1;
+
+                while ((*p)!='\0')
+                {
+                    char c=*(p++);;
+                    if ((c=='o') || (c=='O'))
+                        opt_overwrite = 1;
+                    if ((c=='a') || (c=='A'))
+                        opt_overwrite = 2;
+                    if ((c>='0') && (c<='9'))
+                        opt_compress_level = c-'0';
+                    if ((c=='j') || (c=='J'))
+                        opt_exclude_path = 1;
+
+                    if (((c=='p') || (c=='P')) && (i+1<argc))
+                    {
+                        password=argv[i+1];
+                        i++;
+                    }
+                }
+            }
+            else
+            {
+                if (zipfilenamearg == 0)
+                {
+                    zipfilenamearg = i ;
+                }
+            }
+        }
+    }
+
+    size_buf = WRITEBUFFERSIZE;
+    buf = (void*)malloc(size_buf);
+    if (buf==NULL)
+    {
+        printf("Error allocating memory\n");
+        return ZIP_INTERNALERROR;
+    }
+
+    if (zipfilenamearg==0)
+    {
+        zipok=0;
+    }
+    else
+    {
+        int i,len;
+        int dot_found=0;
+
+        zipok = 1 ;
+        strncpy(filename_try, argv[zipfilenamearg],MAXFILENAME-1);
+        /* strncpy doesnt append the trailing NULL, of the string is too long. */
+        filename_try[ MAXFILENAME ] = '\0';
+
+        len=(int)strlen(filename_try);
+        for (i=0;i<len;i++)
+            if (filename_try[i]=='.')
+                dot_found=1;
+
+        if (dot_found==0)
+            strcat(filename_try,".zip");
+
+        if (opt_overwrite==2)
+        {
+            /* if the file don't exist, we not append file */
+            if (check_exist_file(filename_try)==0)
+                opt_overwrite=1;
+        }
+        else
+        if (opt_overwrite==0)
+            if (check_exist_file(filename_try)!=0)
+            {
+                char rep=0;
+                do
+                {
+                    char answer[128];
+                    int ret;
+                    printf("The file %s exists. Overwrite ? [y]es, [n]o, [a]ppend : ",filename_try);
+                    ret = scanf("%1s",answer);
+                    if (ret != 1)
+                    {
+                       exit(EXIT_FAILURE);
+                    }
+                    rep = answer[0] ;
+                    if ((rep>='a') && (rep<='z'))
+                        rep -= 0x20;
+                }
+                while ((rep!='Y') && (rep!='N') && (rep!='A'));
+                if (rep=='N')
+                    zipok = 0;
+                if (rep=='A')
+                    opt_overwrite = 2;
+            }
+    }
+
+    if (zipok==1)
+    {
+        zipFile zf;
+        int errclose;
+#        ifdef USEWIN32IOAPI
+        zlib_filefunc64_def ffunc;
+        fill_win32_filefunc64A(&ffunc);
+        zf = zipOpen2_64(filename_try,(opt_overwrite==2) ? 2 : 0,NULL,&ffunc);
+#        else
+        zf = zipOpen64(filename_try,(opt_overwrite==2) ? 2 : 0);
+#        endif
+
+        if (zf == NULL)
+        {
+            printf("error opening %s\n",filename_try);
+            err= ZIP_ERRNO;
+        }
+        else
+            printf("creating %s\n",filename_try);
+
+        for (i=zipfilenamearg+1;(i<argc) && (err==ZIP_OK);i++)
+        {
+            if (!((((*(argv[i]))=='-') || ((*(argv[i]))=='/')) &&
+                  ((argv[i][1]=='o') || (argv[i][1]=='O') ||
+                   (argv[i][1]=='a') || (argv[i][1]=='A') ||
+                   (argv[i][1]=='p') || (argv[i][1]=='P') ||
+                   ((argv[i][1]>='0') || (argv[i][1]<='9'))) &&
+                  (strlen(argv[i]) == 2)))
+            {
+                FILE * fin;
+                int size_read;
+                const char* filenameinzip = argv[i];
+                const char *savefilenameinzip;
+                zip_fileinfo zi;
+                unsigned long crcFile=0;
+                int zip64 = 0;
+
+                zi.tmz_date.tm_sec = zi.tmz_date.tm_min = zi.tmz_date.tm_hour =
+                zi.tmz_date.tm_mday = zi.tmz_date.tm_mon = zi.tmz_date.tm_year = 0;
+                zi.dosDate = 0;
+                zi.internal_fa = 0;
+                zi.external_fa = 0;
+                filetime(filenameinzip,&zi.tmz_date,&zi.dosDate);
+
+/*
+                err = zipOpenNewFileInZip(zf,filenameinzip,&zi,
+                                 NULL,0,NULL,0,NULL / * comment * /,
+                                 (opt_compress_level != 0) ? Z_DEFLATED : 0,
+                                 opt_compress_level);
+*/
+                if ((password != NULL) && (err==ZIP_OK))
+                    err = getFileCrc(filenameinzip,buf,size_buf,&crcFile);
+ 
+                zip64 = isLargeFile(filenameinzip);
+
+							 /* The path name saved, should not include a leading slash. */
+               /*if it did, windows/xp and dynazip couldn't read the zip file. */
+                 savefilenameinzip = filenameinzip;
+                 while( savefilenameinzip[0] == '\\' || savefilenameinzip[0] == '/' )
+                 {
+                     savefilenameinzip++;
+                 }
+
+                 /*should the zip file contain any path at all?*/
+                 if( opt_exclude_path )
+                 {
+                     const char *tmpptr;
+                     const char *lastslash = 0;
+                     for( tmpptr = savefilenameinzip; *tmpptr; tmpptr++)
+                     {
+                         if( *tmpptr == '\\' || *tmpptr == '/')
+                         {
+                             lastslash = tmpptr;
+                         }
+                     }
+                     if( lastslash != NULL )
+                     {
+                         savefilenameinzip = lastslash+1; // base filename follows last slash.
+                     }
+                 }
+
+                 /**/
+                err = zipOpenNewFileInZip3_64(zf,savefilenameinzip,&zi,
+                                 NULL,0,NULL,0,NULL /* comment*/,
+                                 (opt_compress_level != 0) ? Z_DEFLATED : 0,
+                                 opt_compress_level,0,
+                                 /* -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, */
+                                 -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,
+                                 password,crcFile, zip64);
+
+                if (err != ZIP_OK)
+                    printf("error in opening %s in zipfile\n",filenameinzip);
+                else
+                {
+                    fin = fopen64(filenameinzip,"rb");
+                    if (fin==NULL)
+                    {
+                        err=ZIP_ERRNO;
+                        printf("error in opening %s for reading\n",filenameinzip);
+                    }
+                }
+
+                if (err == ZIP_OK)
+                    do
+                    {
+                        err = ZIP_OK;
+                        size_read = (int)fread(buf,1,size_buf,fin);
+                        if (size_read < size_buf)
+                            if (feof(fin)==0)
+                        {
+                            printf("error in reading %s\n",filenameinzip);
+                            err = ZIP_ERRNO;
+                        }
+
+                        if (size_read>0)
+                        {
+                            err = zipWriteInFileInZip (zf,buf,size_read);
+                            if (err<0)
+                            {
+                                printf("error in writing %s in the zipfile\n",
+                                                 filenameinzip);
+                            }
+
+                        }
+                    } while ((err == ZIP_OK) && (size_read>0));
+
+                if (fin)
+                    fclose(fin);
+
+                if (err<0)
+                    err=ZIP_ERRNO;
+                else
+                {
+                    err = zipCloseFileInZip(zf);
+                    if (err!=ZIP_OK)
+                        printf("error in closing %s in the zipfile\n",
+                                    filenameinzip);
+                }
+            }
+        }
+        errclose = zipClose(zf,NULL);
+        if (errclose != ZIP_OK)
+            printf("error in closing %s\n",filename_try);
+    }
+    else
+    {
+       do_help();
+    }
+
+    free(buf);
+    return 0;
+}
diff --git a/contrib/contrib/vstudio/vc7/zlibvc.def b/contrib/contrib/vstudio/vc7/zlibvc.def
new file mode 100644
index 0000000..de70122
--- /dev/null
+++ b/contrib/contrib/vstudio/vc7/zlibvc.def
@@ -0,0 +1,95 @@
+

+VERSION		1.23

+

+HEAPSIZE	1048576,8192

+

+EXPORTS

+        adler32                                  @1

+        compress                                 @2

+        crc32                                    @3

+        deflate                                  @4

+        deflateCopy                              @5

+        deflateEnd                               @6

+        deflateInit2_                            @7

+        deflateInit_                             @8

+        deflateParams                            @9

+        deflateReset                             @10

+        deflateSetDictionary                     @11

+        gzclose                                  @12

+        gzdopen                                  @13

+        gzerror                                  @14

+        gzflush                                  @15

+        gzopen                                   @16

+        gzread                                   @17

+        gzwrite                                  @18

+        inflate                                  @19

+        inflateEnd                               @20

+        inflateInit2_                            @21

+        inflateInit_                             @22

+        inflateReset                             @23

+        inflateSetDictionary                     @24

+        inflateSync                              @25

+        uncompress                               @26

+        zlibVersion                              @27

+        gzprintf                                 @28

+        gzputc                                   @29

+        gzgetc                                   @30

+        gzseek                                   @31

+        gzrewind                                 @32

+        gztell                                   @33

+        gzeof                                    @34

+        gzsetparams                              @35

+        zError                                   @36

+        inflateSyncPoint                         @37

+        get_crc_table                            @38

+        compress2                                @39

+        gzputs                                   @40

+        gzgets                                   @41

+        inflateCopy                              @42

+        inflateBackInit_                         @43

+        inflateBack                              @44

+        inflateBackEnd                           @45

+        compressBound                            @46

+        deflateBound                             @47

+        gzclearerr                               @48

+        gzungetc                                 @49

+        zlibCompileFlags                         @50

+        deflatePrime                             @51

+

+        unzOpen                                  @61

+        unzClose                                 @62

+        unzGetGlobalInfo                         @63

+        unzGetCurrentFileInfo                    @64

+        unzGoToFirstFile                         @65

+        unzGoToNextFile                          @66

+        unzOpenCurrentFile                       @67

+        unzReadCurrentFile                       @68

+        unzOpenCurrentFile3                      @69

+        unztell                                  @70

+        unzeof                                   @71

+        unzCloseCurrentFile                      @72

+        unzGetGlobalComment                      @73

+        unzStringFileNameCompare                 @74

+        unzLocateFile                            @75

+        unzGetLocalExtrafield                    @76

+        unzOpen2                                 @77

+        unzOpenCurrentFile2                      @78

+        unzOpenCurrentFilePassword               @79

+

+        zipOpen                                  @80

+        zipOpenNewFileInZip                      @81

+        zipWriteInFileInZip                      @82

+        zipCloseFileInZip                        @83

+        zipClose                                 @84

+        zipOpenNewFileInZip2                     @86

+        zipCloseFileInZipRaw                     @87

+        zipOpen2                                 @88

+        zipOpenNewFileInZip3                     @89

+

+        unzGetFilePos                            @100

+        unzGoToFilePos                           @101

+

+        fill_win32_filefunc                      @110

+        fill_win32_filefunc64                    @111

+        fill_win32_filefunc64A                   @112

+        fill_win32_filefunc64W                   @113

diff --git a/contrib/contrib/vstudio/vc8/zlibstat.vcproj b/contrib/contrib/vstudio/vc8/zlibstat.vcproj
new file mode 100644
index 0000000..2763eec
--- /dev/null
+++ b/contrib/contrib/vstudio/vc8/zlibstat.vcproj
@@ -0,0 +1,881 @@
+<?xml version="1.0" encoding="Windows-1252"?>

+<VisualStudioProject

+	ProjectType="Visual C++"

+	Version="8,00"

+	Name="zlibstat"

+	ProjectGUID="{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}"

+	>

+	<Platforms>

+		<Platform

+			Name="Win32"

+		/>

+		<Platform

+			Name="x64"

+		/>

+		<Platform

+			Name="Itanium"

+		/>

+	</Platforms>

+	<ToolFiles>

+	</ToolFiles>

+	<Configurations>

+		<Configuration

+			Name="Debug|Win32"

+			OutputDirectory="x86\ZlibStat$(ConfigurationName)"

+			IntermediateDirectory="x86\ZlibStat$(ConfigurationName)\Tmp"

+			ConfigurationType="4"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				Optimization="0"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NO_snprintf;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE"

+				ExceptionHandling="0"

+				RuntimeLibrary="1"

+				BufferSecurityCheck="false"

+				PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+				Detect64BitPortabilityProblems="true"

+				DebugInformationFormat="1"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLibrarianTool"

+				AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"

+				OutputFile="$(OutDir)\zlibstat.lib"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="Debug|x64"

+			OutputDirectory="x64\ZlibStat$(ConfigurationName)"

+			IntermediateDirectory="x64\ZlibStat$(ConfigurationName)\Tmp"

+			ConfigurationType="4"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				TargetEnvironment="3"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				Optimization="0"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="ZLIB_WINAPI;NO_snprintf;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"

+				ExceptionHandling="0"

+				RuntimeLibrary="3"

+				BufferSecurityCheck="false"

+				PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+				Detect64BitPortabilityProblems="true"

+				DebugInformationFormat="1"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLibrarianTool"

+				AdditionalOptions="/MACHINE:AMD64 /NODEFAULTLIB"

+				OutputFile="$(OutDir)\zlibstat.lib"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="Debug|Itanium"

+			OutputDirectory="ia64\ZlibStat$(ConfigurationName)"

+			IntermediateDirectory="ia64\ZlibStat$(ConfigurationName)\Tmp"

+			ConfigurationType="4"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				TargetEnvironment="2"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				Optimization="0"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="ZLIB_WINAPI;NO_snprintf;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"

+				ExceptionHandling="0"

+				RuntimeLibrary="3"

+				BufferSecurityCheck="false"

+				PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+				Detect64BitPortabilityProblems="true"

+				DebugInformationFormat="1"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLibrarianTool"

+				AdditionalOptions="/MACHINE:IA64 /NODEFAULTLIB"

+				OutputFile="$(OutDir)\zlibstat.lib"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="Release|Win32"

+			OutputDirectory="x86\ZlibStat$(ConfigurationName)"

+			IntermediateDirectory="x86\ZlibStat$(ConfigurationName)\Tmp"

+			ConfigurationType="4"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				InlineFunctionExpansion="1"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NO_snprintf;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ASMV;ASMINF"

+				StringPooling="true"

+				ExceptionHandling="0"

+				RuntimeLibrary="0"

+				BufferSecurityCheck="false"

+				EnableFunctionLevelLinking="true"

+				PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLibrarianTool"

+				AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"

+				AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj "

+				OutputFile="$(OutDir)\zlibstat.lib"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="Release|x64"

+			OutputDirectory="x64\ZlibStat$(ConfigurationName)"

+			IntermediateDirectory="x64\ZlibStat$(ConfigurationName)\Tmp"

+			ConfigurationType="4"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				TargetEnvironment="3"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				InlineFunctionExpansion="1"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="ZLIB_WINAPI;NO_snprintf;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ASMV;ASMINF;WIN64"

+				StringPooling="true"

+				ExceptionHandling="0"

+				RuntimeLibrary="2"

+				BufferSecurityCheck="false"

+				EnableFunctionLevelLinking="true"

+				PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLibrarianTool"

+				AdditionalOptions="/MACHINE:AMD64 /NODEFAULTLIB"

+				AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj "

+				OutputFile="$(OutDir)\zlibstat.lib"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="Release|Itanium"

+			OutputDirectory="ia64\ZlibStat$(ConfigurationName)"

+			IntermediateDirectory="ia64\ZlibStat$(ConfigurationName)\Tmp"

+			ConfigurationType="4"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				TargetEnvironment="2"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				InlineFunctionExpansion="1"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="ZLIB_WINAPI;NO_snprintf;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"

+				StringPooling="true"

+				ExceptionHandling="0"

+				RuntimeLibrary="2"

+				BufferSecurityCheck="false"

+				EnableFunctionLevelLinking="true"

+				PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLibrarianTool"

+				AdditionalOptions="/MACHINE:IA64 /NODEFAULTLIB"

+				OutputFile="$(OutDir)\zlibstat.lib"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="ReleaseWithoutAsm|Win32"

+			OutputDirectory="x86\ZlibStat$(ConfigurationName)"

+			IntermediateDirectory="x86\ZlibStat$(ConfigurationName)\Tmp"

+			ConfigurationType="4"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				InlineFunctionExpansion="1"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="WIN32;ZLIB_WINAPI;NO_snprintf;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE"

+				StringPooling="true"

+				ExceptionHandling="0"

+				RuntimeLibrary="0"

+				BufferSecurityCheck="false"

+				EnableFunctionLevelLinking="true"

+				PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLibrarianTool"

+				AdditionalOptions="/MACHINE:X86 /NODEFAULTLIB"

+				OutputFile="$(OutDir)\zlibstat.lib"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="ReleaseWithoutAsm|x64"

+			OutputDirectory="x64\ZlibStat$(ConfigurationName)"

+			IntermediateDirectory="x64\ZlibStat$(ConfigurationName)\Tmp"

+			ConfigurationType="4"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				TargetEnvironment="3"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				InlineFunctionExpansion="1"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="ZLIB_WINAPI;NO_snprintf;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"

+				StringPooling="true"

+				ExceptionHandling="0"

+				RuntimeLibrary="2"

+				BufferSecurityCheck="false"

+				EnableFunctionLevelLinking="true"

+				PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLibrarianTool"

+				AdditionalOptions="/MACHINE:AMD64 /NODEFAULTLIB"

+				OutputFile="$(OutDir)\zlibstat.lib"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="ReleaseWithoutAsm|Itanium"

+			OutputDirectory="ia64\ZlibStat$(ConfigurationName)"

+			IntermediateDirectory="ia64\ZlibStat$(ConfigurationName)\Tmp"

+			ConfigurationType="4"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				TargetEnvironment="2"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				InlineFunctionExpansion="1"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="ZLIB_WINAPI;NO_snprintf;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;WIN64"

+				StringPooling="true"

+				ExceptionHandling="0"

+				RuntimeLibrary="2"

+				BufferSecurityCheck="false"

+				EnableFunctionLevelLinking="true"

+				PrecompiledHeaderFile="$(IntDir)/zlibstat.pch"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLibrarianTool"

+				AdditionalOptions="/MACHINE:IA64 /NODEFAULTLIB"

+				OutputFile="$(OutDir)\zlibstat.lib"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+	</Configurations>

+	<References>

+	</References>

+	<Files>

+		<Filter

+			Name="Source Files"

+			>

+			<File

+				RelativePath="..\..\..\adler32.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\compress.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\crc32.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\deflate.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\masmx86\gvmat32c.c"

+				>

+				<FileConfiguration

+					Name="Debug|x64"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Debug|Itanium"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Release|x64"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Release|Itanium"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="ReleaseWithoutAsm|x64"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="ReleaseWithoutAsm|Itanium"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+			</File>

+			<File

+				RelativePath="..\..\..\gzclose.c">

+			</File>

+			<File

+				RelativePath="..\..\..\gzio.c">

+			</File>

+			<File

+				RelativePath="..\..\..\gzlib.c">

+			</File>

+			<File

+				RelativePath="..\..\..\gzread.c">

+			</File>

+			<File

+				RelativePath="..\..\..\gzwrite.c">

+			</File>

+			<File

+				RelativePath="..\..\..\infback.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\masmx64\inffas8664.c"

+				>

+				<FileConfiguration

+					Name="Debug|Win32"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Debug|Itanium"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Release|Win32"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Release|Itanium"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="ReleaseWithoutAsm|Win32"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="ReleaseWithoutAsm|Itanium"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+			</File>

+			<File

+				RelativePath="..\..\..\inffast.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\inflate.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\inftrees.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\minizip\ioapi.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\trees.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\uncompr.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\minizip\unzip.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\minizip\zip.c"

+				>

+			</File>

+			<File

+				RelativePath=".\zlib.rc"

+				>

+			</File>

+			<File

+				RelativePath=".\zlibvc.def"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\zutil.c"

+				>

+			</File>

+		</Filter>

+	</Files>

+	<Globals>

+	</Globals>

+</VisualStudioProject>

diff --git a/contrib/contrib/vstudio/vc8/zlibvc.def b/contrib/contrib/vstudio/vc8/zlibvc.def
new file mode 100644
index 0000000..de70122
--- /dev/null
+++ b/contrib/contrib/vstudio/vc8/zlibvc.def
@@ -0,0 +1,95 @@
+

+VERSION		1.23

+

+HEAPSIZE	1048576,8192

+

+EXPORTS

+        adler32                                  @1

+        compress                                 @2

+        crc32                                    @3

+        deflate                                  @4

+        deflateCopy                              @5

+        deflateEnd                               @6

+        deflateInit2_                            @7

+        deflateInit_                             @8

+        deflateParams                            @9

+        deflateReset                             @10

+        deflateSetDictionary                     @11

+        gzclose                                  @12

+        gzdopen                                  @13

+        gzerror                                  @14

+        gzflush                                  @15

+        gzopen                                   @16

+        gzread                                   @17

+        gzwrite                                  @18

+        inflate                                  @19

+        inflateEnd                               @20

+        inflateInit2_                            @21

+        inflateInit_                             @22

+        inflateReset                             @23

+        inflateSetDictionary                     @24

+        inflateSync                              @25

+        uncompress                               @26

+        zlibVersion                              @27

+        gzprintf                                 @28

+        gzputc                                   @29

+        gzgetc                                   @30

+        gzseek                                   @31

+        gzrewind                                 @32

+        gztell                                   @33

+        gzeof                                    @34

+        gzsetparams                              @35

+        zError                                   @36

+        inflateSyncPoint                         @37

+        get_crc_table                            @38

+        compress2                                @39

+        gzputs                                   @40

+        gzgets                                   @41

+        inflateCopy                              @42

+        inflateBackInit_                         @43

+        inflateBack                              @44

+        inflateBackEnd                           @45

+        compressBound                            @46

+        deflateBound                             @47

+        gzclearerr                               @48

+        gzungetc                                 @49

+        zlibCompileFlags                         @50

+        deflatePrime                             @51

+

+        unzOpen                                  @61

+        unzClose                                 @62

+        unzGetGlobalInfo                         @63

+        unzGetCurrentFileInfo                    @64

+        unzGoToFirstFile                         @65

+        unzGoToNextFile                          @66

+        unzOpenCurrentFile                       @67

+        unzReadCurrentFile                       @68

+        unzOpenCurrentFile3                      @69

+        unztell                                  @70

+        unzeof                                   @71

+        unzCloseCurrentFile                      @72

+        unzGetGlobalComment                      @73

+        unzStringFileNameCompare                 @74

+        unzLocateFile                            @75

+        unzGetLocalExtrafield                    @76

+        unzOpen2                                 @77

+        unzOpenCurrentFile2                      @78

+        unzOpenCurrentFilePassword               @79

+

+        zipOpen                                  @80

+        zipOpenNewFileInZip                      @81

+        zipWriteInFileInZip                      @82

+        zipCloseFileInZip                        @83

+        zipClose                                 @84

+        zipOpenNewFileInZip2                     @86

+        zipCloseFileInZipRaw                     @87

+        zipOpen2                                 @88

+        zipOpenNewFileInZip3                     @89

+

+        unzGetFilePos                            @100

+        unzGoToFilePos                           @101

+

+        fill_win32_filefunc                      @110

+        fill_win32_filefunc64                    @111

+        fill_win32_filefunc64A                   @112

+        fill_win32_filefunc64W                   @113

diff --git a/contrib/contrib/vstudio/vc8/zlibvc.vcproj b/contrib/contrib/vstudio/vc8/zlibvc.vcproj
new file mode 100644
index 0000000..91e966d
--- /dev/null
+++ b/contrib/contrib/vstudio/vc8/zlibvc.vcproj
@@ -0,0 +1,1230 @@
+<?xml version="1.0" encoding="Windows-1252"?>

+<VisualStudioProject

+	ProjectType="Visual C++"

+	Version="8,00"

+	Name="zlibvc"

+	ProjectGUID="{8FD826F8-3739-44E6-8CC8-997122E53B8D}"

+	>

+	<Platforms>

+		<Platform

+			Name="Win32"

+		/>

+		<Platform

+			Name="x64"

+		/>

+		<Platform

+			Name="Itanium"

+		/>

+	</Platforms>

+	<ToolFiles>

+	</ToolFiles>

+	<Configurations>

+		<Configuration

+			Name="Debug|Win32"

+			OutputDirectory="x86\ZlibDll$(ConfigurationName)"

+			IntermediateDirectory="x86\ZlibDll$(ConfigurationName)\Tmp"

+			ConfigurationType="2"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				PreprocessorDefinitions="_DEBUG"

+				MkTypLibCompatible="true"

+				SuppressStartupBanner="true"

+				TargetEnvironment="1"

+				TypeLibraryName="$(OutDir)/zlibvc.tlb"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				Optimization="0"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="WIN32,_CRT_SECURE_NO_DEPRECATE,ZLIB_WINAPI;NO_snprintf,ASMV,ASMINF"

+				ExceptionHandling="0"

+				RuntimeLibrary="1"

+				BufferSecurityCheck="false"

+				PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				BrowseInformation="0"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+				DebugInformationFormat="4"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				PreprocessorDefinitions="_DEBUG"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLinkerTool"

+				AdditionalOptions="/MACHINE:I386"

+				AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj"

+				OutputFile="$(OutDir)\zlibwapi.dll"

+				LinkIncremental="2"

+				SuppressStartupBanner="true"

+				GenerateManifest="false"

+				ModuleDefinitionFile=".\zlibvc.def"

+				GenerateDebugInformation="true"

+				ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"

+				GenerateMapFile="true"

+				MapFileName="$(OutDir)/zlibwapi.map"

+				SubSystem="2"

+				ImportLibrary="$(OutDir)/zlibwapi.lib"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCManifestTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCAppVerifierTool"

+			/>

+			<Tool

+				Name="VCWebDeploymentTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="Debug|x64"

+			OutputDirectory="x64\ZlibDll$(ConfigurationName)"

+			IntermediateDirectory="x64\ZlibDll$(ConfigurationName)\Tmp"

+			ConfigurationType="2"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				PreprocessorDefinitions="_DEBUG"

+				MkTypLibCompatible="true"

+				SuppressStartupBanner="true"

+				TargetEnvironment="3"

+				TypeLibraryName="$(OutDir)/zlibvc.tlb"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				Optimization="0"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="WIN32,_CRT_SECURE_NO_DEPRECATE,ZLIB_WINAPI;NO_snprintf,ASMV,ASMINF;WIN64"

+				ExceptionHandling="0"

+				RuntimeLibrary="3"

+				BufferSecurityCheck="false"

+				PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				BrowseInformation="0"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+				DebugInformationFormat="3"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				PreprocessorDefinitions="_DEBUG"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLinkerTool"

+				AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj "

+				OutputFile="$(OutDir)\zlibwapi.dll"

+				LinkIncremental="2"

+				SuppressStartupBanner="true"

+				GenerateManifest="false"

+				ModuleDefinitionFile=".\zlibvc.def"

+				GenerateDebugInformation="true"

+				ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"

+				GenerateMapFile="true"

+				MapFileName="$(OutDir)/zlibwapi.map"

+				SubSystem="2"

+				ImportLibrary="$(OutDir)/zlibwapi.lib"

+				TargetMachine="17"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCManifestTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCAppVerifierTool"

+			/>

+			<Tool

+				Name="VCWebDeploymentTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="Debug|Itanium"

+			OutputDirectory="ia64\ZlibDll$(ConfigurationName)"

+			IntermediateDirectory="ia64\ZlibDll$(ConfigurationName)\Tmp"

+			ConfigurationType="2"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				PreprocessorDefinitions="_DEBUG"

+				MkTypLibCompatible="true"

+				SuppressStartupBanner="true"

+				TargetEnvironment="2"

+				TypeLibraryName="$(OutDir)/zlibvc.tlb"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				Optimization="0"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NO_snprintf;WIN64"

+				ExceptionHandling="0"

+				RuntimeLibrary="3"

+				BufferSecurityCheck="false"

+				PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				BrowseInformation="0"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+				DebugInformationFormat="3"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				PreprocessorDefinitions="_DEBUG"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLinkerTool"

+				OutputFile="$(OutDir)\zlibwapi.dll"

+				LinkIncremental="2"

+				SuppressStartupBanner="true"

+				GenerateManifest="false"

+				ModuleDefinitionFile=".\zlibvc.def"

+				GenerateDebugInformation="true"

+				ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"

+				GenerateMapFile="true"

+				MapFileName="$(OutDir)/zlibwapi.map"

+				SubSystem="2"

+				ImportLibrary="$(OutDir)/zlibwapi.lib"

+				TargetMachine="5"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCManifestTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCAppVerifierTool"

+			/>

+			<Tool

+				Name="VCWebDeploymentTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="ReleaseWithoutAsm|Win32"

+			OutputDirectory="x86\ZlibDll$(ConfigurationName)"

+			IntermediateDirectory="x86\ZlibDll$(ConfigurationName)\Tmp"

+			ConfigurationType="2"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			WholeProgramOptimization="1"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				PreprocessorDefinitions="NDEBUG"

+				MkTypLibCompatible="true"

+				SuppressStartupBanner="true"

+				TargetEnvironment="1"

+				TypeLibraryName="$(OutDir)/zlibvc.tlb"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				InlineFunctionExpansion="1"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="WIN32,_CRT_SECURE_NO_DEPRECATE,ZLIB_WINAPI;NO_snprintf"

+				StringPooling="true"

+				ExceptionHandling="0"

+				RuntimeLibrary="2"

+				BufferSecurityCheck="false"

+				EnableFunctionLevelLinking="true"

+				PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"

+				AssemblerOutput="2"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				BrowseInformation="0"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				PreprocessorDefinitions="NDEBUG"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLinkerTool"

+				AdditionalOptions="/MACHINE:I386"

+				OutputFile="$(OutDir)\zlibwapi.dll"

+				LinkIncremental="1"

+				SuppressStartupBanner="true"

+				GenerateManifest="false"

+				IgnoreAllDefaultLibraries="false"

+				ModuleDefinitionFile=".\zlibvc.def"

+				ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"

+				GenerateMapFile="true"

+				MapFileName="$(OutDir)/zlibwapi.map"

+				SubSystem="2"

+				OptimizeForWindows98="1"

+				ImportLibrary="$(OutDir)/zlibwapi.lib"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCManifestTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCAppVerifierTool"

+			/>

+			<Tool

+				Name="VCWebDeploymentTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="ReleaseWithoutAsm|x64"

+			OutputDirectory="x64\ZlibDll$(ConfigurationName)"

+			IntermediateDirectory="x64\ZlibDll$(ConfigurationName)\Tmp"

+			ConfigurationType="2"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			WholeProgramOptimization="1"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				PreprocessorDefinitions="NDEBUG"

+				MkTypLibCompatible="true"

+				SuppressStartupBanner="true"

+				TargetEnvironment="3"

+				TypeLibraryName="$(OutDir)/zlibvc.tlb"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				InlineFunctionExpansion="1"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="WIN32,_CRT_SECURE_NO_DEPRECATE,ZLIB_WINAPI;NO_snprintf;WIN64"

+				StringPooling="true"

+				ExceptionHandling="0"

+				RuntimeLibrary="2"

+				BufferSecurityCheck="false"

+				EnableFunctionLevelLinking="true"

+				PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"

+				AssemblerOutput="2"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				BrowseInformation="0"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				PreprocessorDefinitions="NDEBUG"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLinkerTool"

+				OutputFile="$(OutDir)\zlibwapi.dll"

+				LinkIncremental="1"

+				SuppressStartupBanner="true"

+				GenerateManifest="false"

+				IgnoreAllDefaultLibraries="false"

+				ModuleDefinitionFile=".\zlibvc.def"

+				ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"

+				GenerateMapFile="true"

+				MapFileName="$(OutDir)/zlibwapi.map"

+				SubSystem="2"

+				OptimizeForWindows98="1"

+				ImportLibrary="$(OutDir)/zlibwapi.lib"

+				TargetMachine="17"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCManifestTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCAppVerifierTool"

+			/>

+			<Tool

+				Name="VCWebDeploymentTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="ReleaseWithoutAsm|Itanium"

+			OutputDirectory="ia64\ZlibDll$(ConfigurationName)"

+			IntermediateDirectory="ia64\ZlibDll$(ConfigurationName)\Tmp"

+			ConfigurationType="2"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			WholeProgramOptimization="1"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				PreprocessorDefinitions="NDEBUG"

+				MkTypLibCompatible="true"

+				SuppressStartupBanner="true"

+				TargetEnvironment="2"

+				TypeLibraryName="$(OutDir)/zlibvc.tlb"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				InlineFunctionExpansion="1"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="WIN32,_CRT_SECURE_NO_DEPRECATE,ZLIB_WINAPI;NO_snprintf;WIN64"

+				StringPooling="true"

+				ExceptionHandling="0"

+				RuntimeLibrary="2"

+				BufferSecurityCheck="false"

+				EnableFunctionLevelLinking="true"

+				PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"

+				AssemblerOutput="2"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				BrowseInformation="0"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				PreprocessorDefinitions="NDEBUG"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLinkerTool"

+				OutputFile="$(OutDir)\zlibwapi.dll"

+				LinkIncremental="1"

+				SuppressStartupBanner="true"

+				GenerateManifest="false"

+				IgnoreAllDefaultLibraries="false"

+				ModuleDefinitionFile=".\zlibvc.def"

+				ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"

+				GenerateMapFile="true"

+				MapFileName="$(OutDir)/zlibwapi.map"

+				SubSystem="2"

+				OptimizeForWindows98="1"

+				ImportLibrary="$(OutDir)/zlibwapi.lib"

+				TargetMachine="5"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCManifestTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCAppVerifierTool"

+			/>

+			<Tool

+				Name="VCWebDeploymentTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="Release|Win32"

+			OutputDirectory="x86\ZlibDll$(ConfigurationName)"

+			IntermediateDirectory="x86\ZlibDll$(ConfigurationName)\Tmp"

+			ConfigurationType="2"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			WholeProgramOptimization="1"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				PreprocessorDefinitions="NDEBUG"

+				MkTypLibCompatible="true"

+				SuppressStartupBanner="true"

+				TargetEnvironment="1"

+				TypeLibraryName="$(OutDir)/zlibvc.tlb"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				InlineFunctionExpansion="1"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NO_snprintf;ASMV;ASMINF"

+				StringPooling="true"

+				ExceptionHandling="0"

+				RuntimeLibrary="2"

+				BufferSecurityCheck="false"

+				EnableFunctionLevelLinking="true"

+				PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"

+				AssemblerOutput="2"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				BrowseInformation="0"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				PreprocessorDefinitions="NDEBUG"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLinkerTool"

+				AdditionalOptions="/MACHINE:I386"

+				AdditionalDependencies="..\..\masmx86\gvmat32.obj ..\..\masmx86\inffas32.obj "

+				OutputFile="$(OutDir)\zlibwapi.dll"

+				LinkIncremental="1"

+				SuppressStartupBanner="true"

+				GenerateManifest="false"

+				IgnoreAllDefaultLibraries="false"

+				ModuleDefinitionFile=".\zlibvc.def"

+				ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"

+				GenerateMapFile="true"

+				MapFileName="$(OutDir)/zlibwapi.map"

+				SubSystem="2"

+				OptimizeForWindows98="1"

+				ImportLibrary="$(OutDir)/zlibwapi.lib"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCManifestTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCAppVerifierTool"

+			/>

+			<Tool

+				Name="VCWebDeploymentTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="Release|x64"

+			OutputDirectory="x64\ZlibDll$(ConfigurationName)"

+			IntermediateDirectory="x64\ZlibDll$(ConfigurationName)\Tmp"

+			ConfigurationType="2"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			WholeProgramOptimization="1"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				PreprocessorDefinitions="NDEBUG"

+				MkTypLibCompatible="true"

+				SuppressStartupBanner="true"

+				TargetEnvironment="3"

+				TypeLibraryName="$(OutDir)/zlibvc.tlb"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				InlineFunctionExpansion="1"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NO_snprintf;ASMV;ASMINF;WIN64"

+				StringPooling="true"

+				ExceptionHandling="0"

+				RuntimeLibrary="2"

+				BufferSecurityCheck="false"

+				EnableFunctionLevelLinking="true"

+				PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"

+				AssemblerOutput="2"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				BrowseInformation="0"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				PreprocessorDefinitions="NDEBUG"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLinkerTool"

+				AdditionalDependencies="..\..\masmx64\gvmat64.obj ..\..\masmx64\inffasx64.obj "

+				OutputFile="$(OutDir)\zlibwapi.dll"

+				LinkIncremental="1"

+				SuppressStartupBanner="true"

+				GenerateManifest="false"

+				IgnoreAllDefaultLibraries="false"

+				ModuleDefinitionFile=".\zlibvc.def"

+				ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"

+				GenerateMapFile="true"

+				MapFileName="$(OutDir)/zlibwapi.map"

+				SubSystem="2"

+				OptimizeForWindows98="1"

+				ImportLibrary="$(OutDir)/zlibwapi.lib"

+				TargetMachine="17"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCManifestTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCAppVerifierTool"

+			/>

+			<Tool

+				Name="VCWebDeploymentTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+		<Configuration

+			Name="Release|Itanium"

+			OutputDirectory="ia64\ZlibDll$(ConfigurationName)"

+			IntermediateDirectory="ia64\ZlibDll$(ConfigurationName)\Tmp"

+			ConfigurationType="2"

+			InheritedPropertySheets="UpgradeFromVC70.vsprops"

+			UseOfMFC="0"

+			ATLMinimizesCRunTimeLibraryUsage="false"

+			WholeProgramOptimization="1"

+			>

+			<Tool

+				Name="VCPreBuildEventTool"

+			/>

+			<Tool

+				Name="VCCustomBuildTool"

+			/>

+			<Tool

+				Name="VCXMLDataGeneratorTool"

+			/>

+			<Tool

+				Name="VCWebServiceProxyGeneratorTool"

+			/>

+			<Tool

+				Name="VCMIDLTool"

+				PreprocessorDefinitions="NDEBUG"

+				MkTypLibCompatible="true"

+				SuppressStartupBanner="true"

+				TargetEnvironment="2"

+				TypeLibraryName="$(OutDir)/zlibvc.tlb"

+			/>

+			<Tool

+				Name="VCCLCompilerTool"

+				InlineFunctionExpansion="1"

+				AdditionalIncludeDirectories="..\..\..;..\..\masmx86"

+				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NO_snprintf;WIN64"

+				StringPooling="true"

+				ExceptionHandling="0"

+				RuntimeLibrary="2"

+				BufferSecurityCheck="false"

+				EnableFunctionLevelLinking="true"

+				PrecompiledHeaderFile="$(IntDir)/zlibvc.pch"

+				AssemblerOutput="2"

+				AssemblerListingLocation="$(IntDir)\"

+				ObjectFile="$(IntDir)\"

+				ProgramDataBaseFileName="$(OutDir)\"

+				BrowseInformation="0"

+				WarningLevel="3"

+				SuppressStartupBanner="true"

+			/>

+			<Tool

+				Name="VCManagedResourceCompilerTool"

+			/>

+			<Tool

+				Name="VCResourceCompilerTool"

+				PreprocessorDefinitions="NDEBUG"

+				Culture="1036"

+			/>

+			<Tool

+				Name="VCPreLinkEventTool"

+			/>

+			<Tool

+				Name="VCLinkerTool"

+				OutputFile="$(OutDir)\zlibwapi.dll"

+				LinkIncremental="1"

+				SuppressStartupBanner="true"

+				GenerateManifest="false"

+				IgnoreAllDefaultLibraries="false"

+				ModuleDefinitionFile=".\zlibvc.def"

+				ProgramDatabaseFile="$(OutDir)/zlibwapi.pdb"

+				GenerateMapFile="true"

+				MapFileName="$(OutDir)/zlibwapi.map"

+				SubSystem="2"

+				OptimizeForWindows98="1"

+				ImportLibrary="$(OutDir)/zlibwapi.lib"

+				TargetMachine="5"

+			/>

+			<Tool

+				Name="VCALinkTool"

+			/>

+			<Tool

+				Name="VCManifestTool"

+			/>

+			<Tool

+				Name="VCXDCMakeTool"

+			/>

+			<Tool

+				Name="VCBscMakeTool"

+			/>

+			<Tool

+				Name="VCFxCopTool"

+			/>

+			<Tool

+				Name="VCAppVerifierTool"

+			/>

+			<Tool

+				Name="VCWebDeploymentTool"

+			/>

+			<Tool

+				Name="VCPostBuildEventTool"

+			/>

+		</Configuration>

+	</Configurations>

+	<References>

+	</References>

+	<Files>

+		<Filter

+			Name="Source Files"

+			Filter="cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"

+			>

+			<File

+				RelativePath="..\..\..\adler32.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\compress.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\crc32.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\deflate.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\masmx86\gvmat32c.c"

+				>

+				<FileConfiguration

+					Name="Debug|x64"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Debug|Itanium"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="ReleaseWithoutAsm|Win32"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="ReleaseWithoutAsm|x64"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="ReleaseWithoutAsm|Itanium"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Release|x64"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Release|Itanium"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+			</File>

+			<File

+				RelativePath="..\..\..\gzclose.c">

+			</File>

+			<File

+				RelativePath="..\..\..\gzio.c">

+			</File>

+			<File

+				RelativePath="..\..\..\gzlib.c">

+			</File>

+			<File

+				RelativePath="..\..\..\gzread.c">

+			</File>

+			<File

+				RelativePath="..\..\..\gzwrite.c">

+			</File>

+			<File

+				RelativePath="..\..\..\infback.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\masmx64\inffas8664.c"

+				>

+				<FileConfiguration

+					Name="Debug|Win32"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Debug|Itanium"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="ReleaseWithoutAsm|Win32"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="ReleaseWithoutAsm|Itanium"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Release|Win32"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Release|Itanium"

+					ExcludedFromBuild="true"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+					/>

+				</FileConfiguration>

+			</File>

+			<File

+				RelativePath="..\..\..\inffast.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\inflate.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\inftrees.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\minizip\ioapi.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\minizip\iowin32.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\trees.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\uncompr.c"

+				>

+			</File>

+			<File

+				RelativePath="..\..\minizip\unzip.c"

+				>

+				<FileConfiguration

+					Name="Release|Win32"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+						AdditionalIncludeDirectories=""

+						PreprocessorDefinitions="ZLIB_INTERNAL"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Release|x64"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+						AdditionalIncludeDirectories=""

+						PreprocessorDefinitions="ZLIB_INTERNAL"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Release|Itanium"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+						AdditionalIncludeDirectories=""

+						PreprocessorDefinitions="ZLIB_INTERNAL"

+					/>

+				</FileConfiguration>

+			</File>

+			<File

+				RelativePath="..\..\minizip\zip.c"

+				>

+				<FileConfiguration

+					Name="Release|Win32"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+						AdditionalIncludeDirectories=""

+						PreprocessorDefinitions="ZLIB_INTERNAL"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Release|x64"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+						AdditionalIncludeDirectories=""

+						PreprocessorDefinitions="ZLIB_INTERNAL"

+					/>

+				</FileConfiguration>

+				<FileConfiguration

+					Name="Release|Itanium"

+					>

+					<Tool

+						Name="VCCLCompilerTool"

+						AdditionalIncludeDirectories=""

+						PreprocessorDefinitions="ZLIB_INTERNAL"

+					/>

+				</FileConfiguration>

+			</File>

+			<File

+				RelativePath=".\zlib.rc"

+				>

+			</File>

+			<File

+				RelativePath=".\zlibvc.def"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\zutil.c"

+				>

+			</File>

+		</Filter>

+		<Filter

+			Name="Header Files"

+			Filter="h;hpp;hxx;hm;inl;fi;fd"

+			>

+			<File

+				RelativePath="..\..\..\deflate.h"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\infblock.h"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\infcodes.h"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\inffast.h"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\inftrees.h"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\infutil.h"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\zconf.h"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\zlib.h"

+				>

+			</File>

+			<File

+				RelativePath="..\..\..\zutil.h"

+				>

+			</File>

+		</Filter>

+		<Filter

+			Name="Resource Files"

+			Filter="ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"

+			>

+		</Filter>

+	</Files>

+	<Globals>

+	</Globals>

+</VisualStudioProject>

diff --git a/contrib/dotzlib/DotZLib.build b/contrib/dotzlib/DotZLib.build
index ed19cc9..7f90d6b 100644
--- a/contrib/dotzlib/DotZLib.build
+++ b/contrib/dotzlib/DotZLib.build
@@ -4,7 +4,7 @@
 

 	<property name="nunit.location" value="c:/program files/NUnit V2.1/bin" />

 	<property name="build.root" value="bin" />

-	

+

 	<property name="debug" value="true" />

 	<property name="nunit" value="true" />

 

@@ -16,7 +16,7 @@
 	</target>

 

 	<target name="build" description="compiles the source code">

-		

+

 		<mkdir dir="${build.folder}" />

 		<csc target="library" output="${build.folder}DotZLib.dll" debug="${debug}">

 			<references basedir="${nunit.location}">

diff --git a/contrib/dotzlib/DotZLib.chm b/contrib/dotzlib/DotZLib.chm
index 0bc7df7..f214a44 100644
--- a/contrib/dotzlib/DotZLib.chm
+++ b/contrib/dotzlib/DotZLib.chm
Binary files differ
diff --git a/contrib/dotzlib/DotZLib/AssemblyInfo.cs b/contrib/dotzlib/DotZLib/AssemblyInfo.cs
index 6fc0fdc..0491bfc 100644
--- a/contrib/dotzlib/DotZLib/AssemblyInfo.cs
+++ b/contrib/dotzlib/DotZLib/AssemblyInfo.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;

 

 //

-// General Information about an assembly is controlled through the following 

+// General Information about an assembly is controlled through the following

 // set of attributes. Change these attribute values to modify the information

 // associated with an assembly.

 //

@@ -13,42 +13,42 @@
 [assembly: AssemblyProduct("")]

 [assembly: AssemblyCopyright("(c) 2004 by Henrik Ravn")]

 [assembly: AssemblyTrademark("")]

-[assembly: AssemblyCulture("")]		

+[assembly: AssemblyCulture("")]

 

 //

 // Version information for an assembly consists of the following four values:

 //

 //      Major Version

-//      Minor Version 

+//      Minor Version

 //      Build Number

 //      Revision

 //

-// You can specify all the values or you can default the Revision and Build Numbers 

+// You can specify all the values or you can default the Revision and Build Numbers

 // by using the '*' as shown below:

 

 [assembly: AssemblyVersion("1.0.*")]

 

 //

-// In order to sign your assembly you must specify a key to use. Refer to the 

+// In order to sign your assembly you must specify a key to use. Refer to the

 // Microsoft .NET Framework documentation for more information on assembly signing.

 //

-// Use the attributes below to control which key is used for signing. 

+// Use the attributes below to control which key is used for signing.

 //

-// Notes: 

+// Notes:

 //   (*) If no key is specified, the assembly is not signed.

 //   (*) KeyName refers to a key that has been installed in the Crypto Service

 //       Provider (CSP) on your machine. KeyFile refers to a file which contains

 //       a key.

-//   (*) If the KeyFile and the KeyName values are both specified, the 

+//   (*) If the KeyFile and the KeyName values are both specified, the

 //       following processing occurs:

 //       (1) If the KeyName can be found in the CSP, that key is used.

-//       (2) If the KeyName does not exist and the KeyFile does exist, the key 

+//       (2) If the KeyName does not exist and the KeyFile does exist, the key

 //           in the KeyFile is installed into the CSP and used.

 //   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.

 //       When specifying the KeyFile, the location of the KeyFile should be

 //       relative to the project output directory which is

 //       %Project Directory%\obj\<configuration>. For example, if your KeyFile is

-//       located in the project directory, you would specify the AssemblyKeyFile 

+//       located in the project directory, you would specify the AssemblyKeyFile

 //       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]

 //   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework

 //       documentation for more information on this.

diff --git a/contrib/dotzlib/DotZLib/ChecksumImpl.cs b/contrib/dotzlib/DotZLib/ChecksumImpl.cs
index dfe7e90..788b2fc 100644
--- a/contrib/dotzlib/DotZLib/ChecksumImpl.cs
+++ b/contrib/dotzlib/DotZLib/ChecksumImpl.cs
@@ -1,7 +1,7 @@
 //

 // © Copyright Henrik Ravn 2004

 //

-// Use, modification and distribution are subject to the Boost Software License, Version 1.0. 

+// Use, modification and distribution are subject to the Boost Software License, Version 1.0.

 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

 //

 

@@ -25,7 +25,7 @@
         protected uint _current;

 

         /// <summary>

-        /// Initializes a new instance of the checksum generator base - the current checksum is 

+        /// Initializes a new instance of the checksum generator base - the current checksum is

         /// set to zero

         /// </summary>

         public ChecksumGeneratorBase()

@@ -61,7 +61,7 @@
         /// <exception cref="ArgumentException">The sum of offset and count is larger than the length of <c>data</c></exception>

         /// <exception cref="NullReferenceException"><c>data</c> is a null reference</exception>

         /// <exception cref="ArgumentOutOfRangeException">Offset or count is negative.</exception>

-        /// <remarks>All the other <c>Update</c> methods are implmeneted in terms of this one. 

+        /// <remarks>All the other <c>Update</c> methods are implmeneted in terms of this one.

         /// This is therefore the only method a derived class has to implement</remarks>

         public abstract void Update(byte[] data, int offset, int count);

 

@@ -101,7 +101,7 @@
     /// <summary>

     /// Implements a CRC32 checksum generator

     /// </summary>

-    public sealed class CRC32Checksum : ChecksumGeneratorBase    

+    public sealed class CRC32Checksum : ChecksumGeneratorBase

     {

         #region DLL imports

 

@@ -152,7 +152,7 @@
     /// <summary>

     /// Implements a checksum generator that computes the Adler checksum on data

     /// </summary>

-    public sealed class AdlerChecksum : ChecksumGeneratorBase    

+    public sealed class AdlerChecksum : ChecksumGeneratorBase

     {

         #region DLL imports

 

diff --git a/contrib/dotzlib/DotZLib/CircularBuffer.cs b/contrib/dotzlib/DotZLib/CircularBuffer.cs
index 16997e9..c1cab3a 100644
--- a/contrib/dotzlib/DotZLib/CircularBuffer.cs
+++ b/contrib/dotzlib/DotZLib/CircularBuffer.cs
@@ -1,7 +1,7 @@
 //

 // © Copyright Henrik Ravn 2004

 //

-// Use, modification and distribution are subject to the Boost Software License, Version 1.0. 

+// Use, modification and distribution are subject to the Boost Software License, Version 1.0.

 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

 //

 

@@ -25,7 +25,7 @@
         #endregion

 

         public CircularBuffer(int capacity)

-        {    

+        {

             Debug.Assert( capacity > 0 );

             _buffer = new byte[capacity];

             _capacity = capacity;

diff --git a/contrib/dotzlib/DotZLib/CodecBase.cs b/contrib/dotzlib/DotZLib/CodecBase.cs
index 954db7d..42e6da3 100644
--- a/contrib/dotzlib/DotZLib/CodecBase.cs
+++ b/contrib/dotzlib/DotZLib/CodecBase.cs
@@ -1,7 +1,7 @@
 //

 // © Copyright Henrik Ravn 2004

 //

-// Use, modification and distribution are subject to the Boost Software License, Version 1.0. 

+// Use, modification and distribution are subject to the Boost Software License, Version 1.0.

 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

 //

 

@@ -19,7 +19,7 @@
         #region Data members

 

         /// <summary>

-        /// Instance of the internal zlib buffer structure that is 

+        /// Instance of the internal zlib buffer structure that is

         /// passed to all functions in the zlib dll

         /// </summary>

         internal ZStream _ztream = new ZStream();

@@ -45,7 +45,7 @@
         #endregion

 

         /// <summary>

-        /// Initializes a new instance of the <c>CodeBase</c> class. 

+        /// Initializes a new instance of the <c>CodeBase</c> class.

         /// </summary>

 		public CodecBase()

 		{

@@ -77,7 +77,7 @@
             if (_ztream.total_out > 0)

             {

                 if (DataAvailable != null)

-                    DataAvailable( _outBuffer, 0, (int)_ztream.total_out); 

+                    DataAvailable( _outBuffer, 0, (int)_ztream.total_out);

                 resetOutput();

             }

         }

diff --git a/contrib/dotzlib/DotZLib/Deflater.cs b/contrib/dotzlib/DotZLib/Deflater.cs
index d7b8dcc..c247792 100644
--- a/contrib/dotzlib/DotZLib/Deflater.cs
+++ b/contrib/dotzlib/DotZLib/Deflater.cs
@@ -1,7 +1,7 @@
 //

 // © Copyright Henrik Ravn 2004

 //

-// Use, modification and distribution are subject to the Boost Software License, Version 1.0. 

+// Use, modification and distribution are subject to the Boost Software License, Version 1.0.

 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

 //

 

@@ -56,7 +56,7 @@
             if (data == null) throw new ArgumentNullException();

             if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException();

             if ((offset+count) > data.Length) throw new ArgumentException();

-            

+

             int total = count;

             int inputIndex = offset;

             int err = 0;

@@ -86,7 +86,7 @@
         public override void Finish()

         {

             int err;

-            do 

+            do

             {

                 err = deflate(ref _ztream, (int)FlushTypes.Finish);

                 OnDataAvailable();

diff --git a/contrib/dotzlib/DotZLib/DotZLib.cs b/contrib/dotzlib/DotZLib/DotZLib.cs
index 410deb0..be184b4 100644
--- a/contrib/dotzlib/DotZLib/DotZLib.cs
+++ b/contrib/dotzlib/DotZLib/DotZLib.cs
@@ -1,7 +1,7 @@
 //

 // © Copyright Henrik Ravn 2004

 //

-// Use, modification and distribution are subject to the Boost Software License, Version 1.0. 

+// Use, modification and distribution are subject to the Boost Software License, Version 1.0.

 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

 //

 

@@ -19,7 +19,7 @@
     /// <summary>

     /// Defines constants for the various flush types used with zlib

     /// </summary>

-    internal enum FlushTypes 

+    internal enum FlushTypes

     {

         None,  Partial,  Sync,  Full,  Finish,  Block

     }

@@ -38,7 +38,7 @@
         public uint total_out;

 

         [MarshalAs(UnmanagedType.LPStr)]

-        string msg; 

+        string msg;

         uint state;

 

         uint zalloc;

@@ -51,7 +51,7 @@
     }

 

     #endregion

-    

+

     #endregion

 

     #region Public enums

@@ -63,7 +63,7 @@
         /// <summary>

         /// The default compression level with a reasonable compromise between compression and speed

         /// </summary>

-        Default = -1,   

+        Default = -1,

         /// <summary>

         /// No compression at all. The data are passed straight through.

         /// </summary>

@@ -71,7 +71,7 @@
         /// <summary>

         /// The maximum compression rate available.

         /// </summary>

-        Best = 9,   

+        Best = 9,

         /// <summary>

         /// The fastest available compression level.

         /// </summary>

@@ -86,7 +86,7 @@
     public class ZLibException : ApplicationException

     {

         /// <summary>

-        /// Initializes a new instance of the <see cref="ZLibException"/> class with a specified 

+        /// Initializes a new instance of the <see cref="ZLibException"/> class with a specified

         /// error message and error code

         /// </summary>

         /// <param name="errorCode">The zlib error code that caused the exception</param>

@@ -96,7 +96,7 @@
         }

 

         /// <summary>

-        /// Initializes a new instance of the <see cref="ZLibException"/> class with a specified 

+        /// Initializes a new instance of the <see cref="ZLibException"/> class with a specified

         /// error code

         /// </summary>

         /// <param name="errorCode">The zlib error code that caused the exception</param>

@@ -109,7 +109,7 @@
     #region Interfaces

 

     /// <summary>

-    /// Declares methods and properties that enables a running checksum to be calculated 

+    /// Declares methods and properties that enables a running checksum to be calculated

     /// </summary>

     public interface ChecksumGenerator

     {

@@ -163,7 +163,7 @@
     /// <paramref name="data">The byte array containing the processed data</paramref>

     /// <paramref name="startIndex">The index of the first processed byte in <c>data</c></paramref>

     /// <paramref name="count">The number of processed bytes available</paramref>

-    /// <remarks>On return from this method, the data may be overwritten, so grab it while you can. 

+    /// <remarks>On return from this method, the data may be overwritten, so grab it while you can.

     /// You cannot assume that startIndex will be zero.

     /// </remarks>

     public delegate void DataAvailableHandler(byte[] data, int startIndex, int count);

diff --git a/contrib/dotzlib/DotZLib/GZipStream.cs b/contrib/dotzlib/DotZLib/GZipStream.cs
index f861675..b161300 100644
--- a/contrib/dotzlib/DotZLib/GZipStream.cs
+++ b/contrib/dotzlib/DotZLib/GZipStream.cs
@@ -1,7 +1,7 @@
 //

 // © Copyright Henrik Ravn 2004

 //

-// Use, modification and distribution are subject to the Boost Software License, Version 1.0. 

+// Use, modification and distribution are subject to the Boost Software License, Version 1.0.

 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

 //

 

@@ -84,7 +84,7 @@
                 return !_isWriting;

             }

         }

-    

+

 

         /// <summary>

         /// Returns false.

@@ -96,7 +96,7 @@
                 return false;

             }

         }

-    

+

         /// <summary>

         /// Returns true if this tsream is writeable, false otherwise

         /// </summary>

@@ -108,7 +108,7 @@
             }

         }

         #endregion

-    

+

         #region Destructor & IDispose stuff

 

         /// <summary>

@@ -137,7 +137,7 @@
             }

         }

         #endregion

-    

+

         #region Basic reading and writing

         /// <summary>

         /// Attempts to read a number of bytes from the stream.

@@ -244,7 +244,7 @@
         {

             throw new NotSupportedException();

         }

-    

+

         /// <summary>

         ///  Not suppported.

         /// </summary>

@@ -256,7 +256,7 @@
         {

             throw new NotSupportedException();

         }

-    

+

         /// <summary>

         /// Flushes the <c>GZipStream</c>.

         /// </summary>

@@ -266,7 +266,7 @@
         {

             // left empty on purpose

         }

-    

+

         /// <summary>

         /// Gets/sets the current position in the <c>GZipStream</c>. Not suppported.

         /// </summary>

@@ -283,7 +283,7 @@
                 throw new NotSupportedException();

             }

         }

-    

+

         /// <summary>

         /// Gets the size of the stream. Not suppported.

         /// </summary>

diff --git a/contrib/dotzlib/DotZLib/Inflater.cs b/contrib/dotzlib/DotZLib/Inflater.cs
index 4e60cda..8ed5451 100644
--- a/contrib/dotzlib/DotZLib/Inflater.cs
+++ b/contrib/dotzlib/DotZLib/Inflater.cs
@@ -1,7 +1,7 @@
 //

 // © Copyright Henrik Ravn 2004

 //

-// Use, modification and distribution are subject to the Boost Software License, Version 1.0. 

+// Use, modification and distribution are subject to the Boost Software License, Version 1.0.

 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

 //

 

@@ -11,7 +11,7 @@
 

 namespace DotZLib

 {

-    

+

     /// <summary>

     /// Implements a data decompressor, using the inflate algorithm in the ZLib dll

     /// </summary>

@@ -84,7 +84,7 @@
         public override void Finish()

         {

             int err;

-            do 

+            do

             {

                 err = inflate(ref _ztream, (int)FlushTypes.Finish);

                 OnDataAvailable();

diff --git a/contrib/dotzlib/DotZLib/UnitTests.cs b/contrib/dotzlib/DotZLib/UnitTests.cs
index 8dc00db..eb751bb 100644
--- a/contrib/dotzlib/DotZLib/UnitTests.cs
+++ b/contrib/dotzlib/DotZLib/UnitTests.cs
@@ -1,7 +1,7 @@
 //

 // © Copyright Henrik Ravn 2004

 //

-// Use, modification and distribution are subject to the Boost Software License, Version 1.0. 

+// Use, modification and distribution are subject to the Boost Software License, Version 1.0.

 // (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

 //

 

@@ -225,7 +225,7 @@
 

         [Test]

         public void Inflate_Expand()

-        { 

+        {

             uncompressedData.Clear();

 

             using (Inflater inf = new Inflater())

diff --git a/contrib/dotzlib/readme.txt b/contrib/dotzlib/readme.txt
index 210f4b0..b239572 100644
--- a/contrib/dotzlib/readme.txt
+++ b/contrib/dotzlib/readme.txt
@@ -1,6 +1,6 @@
 This directory contains a .Net wrapper class library for the ZLib1.dll

 

-The wrapper includes support for inflating/deflating memory buffers, 

+The wrapper includes support for inflating/deflating memory buffers,

 .Net streaming wrappers for the gz streams part of zlib, and wrappers

 for the checksum parts of zlib. See DotZLib/UnitTests.cs for examples.

 

@@ -26,11 +26,11 @@
 

 1. Using Visual Studio.Net 2003:

    Open DotZLib.sln in VS.Net and build from there. Output file (DotZLib.dll)

-   will be found ./DotZLib/bin/release or ./DotZLib/bin/debug, depending on 

-   you are building the release or debug version of the library. Check 

+   will be found ./DotZLib/bin/release or ./DotZLib/bin/debug, depending on

+   you are building the release or debug version of the library. Check

    DotZLib/UnitTests.cs for instructions on how to include unit tests in the

    build.

-   

+

 2. Using NAnt:

    Open a command prompt with access to the build environment and run nant

    in the same directory as the DotZLib.build file.

@@ -38,15 +38,15 @@
    debug={true|false} to toggle between release/debug builds (default=true).

    nunit={true|false} to include or esclude unit tests (default=true).

    Also the target clean will remove binaries.

-   Output file (DotZLib.dll) will be found in either ./DotZLib/bin/release 

-   or ./DotZLib/bin/debug, depending on whether you are building the release 

+   Output file (DotZLib.dll) will be found in either ./DotZLib/bin/release

+   or ./DotZLib/bin/debug, depending on whether you are building the release

    or debug version of the library.

 

-   Examples: 

+   Examples:

      nant -D:debug=false -D:nunit=false

        will build a release mode version of the library without unit tests.

      nant

-       will build a debug version of the library with unit tests 

+       will build a debug version of the library with unit tests

      nant clean

        will remove all previously built files.

 

@@ -54,5 +54,5 @@
 ---------------------------------

 Copyright (c) Henrik Ravn 2004

 

-Use, modification and distribution are subject to the Boost Software License, Version 1.0. 

+Use, modification and distribution are subject to the Boost Software License, Version 1.0.

 (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

diff --git a/contrib/infback9/inftree9.c b/contrib/infback9/inftree9.c
index 2018e4d..256c5d5 100644
--- a/contrib/infback9/inftree9.c
+++ b/contrib/infback9/inftree9.c
@@ -9,7 +9,7 @@
 #define MAXBITS 15
 
 const char inflate9_copyright[] =
-   " inflate9 1.2.3.7 Copyright 1995-2010 Mark Adler ";
+   " inflate9 1.2.3.8 Copyright 1995-2010 Mark Adler ";
 /*
   If you use the zlib library in a product, an acknowledgment is welcome
   in the documentation of your product. If for some reason you cannot
@@ -64,7 +64,7 @@
     static const unsigned short lext[31] = { /* Length codes 257..285 extra */
         128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
         130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
-        133, 133, 133, 133, 144, 72, 193};
+        133, 133, 133, 133, 144, 78, 75};
     static const unsigned short dbase[32] = { /* Distance codes 0..31 base */
         1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49,
         65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
diff --git a/contrib/masmx64/gvmat64.asm b/contrib/masmx64/gvmat64.asm
index 790d655..d2790cc 100644
--- a/contrib/masmx64/gvmat64.asm
+++ b/contrib/masmx64/gvmat64.asm
@@ -406,7 +406,8 @@
 

         add rdx,8+8+8

 

-        jmp short LoopCmps

+        jnz short LoopCmps

+        jmp short LenMaximum

 LeaveLoopCmps16: add rdx,8

 LeaveLoopCmps8: add rdx,8

 LeaveLoopCmps:

diff --git a/contrib/masmx64/gvmat64.obj b/contrib/masmx64/gvmat64.obj
deleted file mode 100644
index a49ca02..0000000
--- a/contrib/masmx64/gvmat64.obj
+++ /dev/null
Binary files differ
diff --git a/contrib/masmx64/inffas8664.c b/contrib/masmx64/inffas8664.c
index 3af764d..2263d77 100644
--- a/contrib/masmx64/inffas8664.c
+++ b/contrib/masmx64/inffas8664.c
@@ -111,11 +111,11 @@
     type_ar ar;

     void inffas8664fnc(struct inffast_ar * par);

 

-    

+

 

 #if (defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )) || (defined(_MSC_VER) && defined(_M_AMD64))

 #define PAD_AVAIL_IN 6

-#define PAD_AVAIL_OUT 258    

+#define PAD_AVAIL_OUT 258

 #else

 #define PAD_AVAIL_IN 5

 #define PAD_AVAIL_OUT 257

diff --git a/contrib/masmx64/inffasx64.asm b/contrib/masmx64/inffasx64.asm
index b5d93a2..c2ba03f 100644
--- a/contrib/masmx64/inffasx64.asm
+++ b/contrib/masmx64/inffasx64.asm
@@ -11,7 +11,7 @@
 ;

 ;   ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK

 ;

-;   (you can get Windows 2003 server DDK with ml64 and cl.exe for AMD64 from 

+;   (you can get Windows 2003 server DDK with ml64 and cl.exe for AMD64 from

 ;      http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price)

 ;

 

@@ -379,7 +379,7 @@
 	mov r14,[rsp-40]

 	mov r15,[rsp-48]

 	mov rbx,[rsp-56]

-	

+

     ret 0

 ;          :

 ;          : "m" (ar)

diff --git a/contrib/masmx64/inffasx64.obj b/contrib/masmx64/inffasx64.obj
deleted file mode 100644
index 8df5d82..0000000
--- a/contrib/masmx64/inffasx64.obj
+++ /dev/null
Binary files differ
diff --git a/contrib/masmx64/readme.txt b/contrib/masmx64/readme.txt
index ee03115..cd697c4 100644
--- a/contrib/masmx64/readme.txt
+++ b/contrib/masmx64/readme.txt
@@ -24,5 +24,5 @@
 

 ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK

 

-You can get Windows 2003 server DDK with ml64 and cl for AMD64 from 

+You can get Windows 2003 server DDK with ml64 and cl for AMD64 from

   http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price)

diff --git a/contrib/masmx86/bld_ml32.bat b/contrib/masmx86/bld_ml32.bat
index 99144d0..36962e1 100644
--- a/contrib/masmx86/bld_ml32.bat
+++ b/contrib/masmx86/bld_ml32.bat
@@ -1,2 +1,2 @@
-ml /coff /Zi /c /Flgvmat32.lst  gvmat32.asm 

-ml /coff /Zi /c /Flinffas32.lst inffas32.asm 

+ml /coff /Zi /c /Flgvmat32.lst  gvmat32.asm

+ml /coff /Zi /c /Flinffas32.lst inffas32.asm

diff --git a/contrib/masmx86/gvmat32.asm b/contrib/masmx86/gvmat32.asm
index 874bb2d..8111616 100644
--- a/contrib/masmx86/gvmat32.asm
+++ b/contrib/masmx86/gvmat32.asm
@@ -14,7 +14,7 @@
 ;

 ; this file contain two implementation of longest_match

 ;

-;  longest_match_7fff : written 1996 by Gilles Vollant optimized for 

+;  longest_match_7fff : written 1996 by Gilles Vollant optimized for

 ;            first Pentium. Assume s->w_mask == 0x7fff

 ;  longest_match_686 : written by Brian raiter (1998), optimized for Pentium Pro

 ;

@@ -39,7 +39,7 @@
 ;

 ;    compile the asm file running

 ;           ml /coff /Zi /c /Flgvmat32.lst /DNOOLDPENTIUMCODE gvmat32.asm

-;    and do not include gvmat32c.c in your project (ou define also 

+;    and do not include gvmat32c.c in your project (ou define also

 ;              NOOLDPENTIUMCODE)

 ;

 ; note : as I known, longest_match_686 is very faster than longest_match_7fff

@@ -113,7 +113,7 @@
    IFDEF NOOLDPENTIUMCODE

             public  longest_match

             public  match_init

-   ELSE            

+   ELSE

             public  longest_match_7fff

             public  cpudetect32

             public  longest_match_686

@@ -959,7 +959,7 @@
     _match_init     proc near

                     ret

     _match_init     endp

-    ENDIF    

+    ENDIF

 ELSE

     IFDEF NOUNDERLINE

     longest_match_686   endp

diff --git a/contrib/masmx86/gvmat32.obj b/contrib/masmx86/gvmat32.obj
deleted file mode 100644
index ebb3262..0000000
--- a/contrib/masmx86/gvmat32.obj
+++ /dev/null
Binary files differ
diff --git a/contrib/masmx86/inffas32.asm b/contrib/masmx86/inffas32.asm
index 05c46dd..92ac22a 100644
--- a/contrib/masmx86/inffas32.asm
+++ b/contrib/masmx86/inffas32.asm
@@ -16,7 +16,7 @@
 ; * enabled.  I will attempt to merge the MMX code into this version.  Newer

 ; * versions of this and inffast.S can be found at

 ; * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/

-; * 

+; *

 ; * 2005 : modification by Gilles Vollant

 ; */

 ; For Visual C++ 4.x and higher and ML 6.x and higher

@@ -33,7 +33,7 @@
 

 

 ; zlib122sup is 0 fort zlib 1.2.2.1 and lower

-; zlib122sup is 8 fort zlib 1.2.2.2 and more (with addition of dmax and head 

+; zlib122sup is 8 fort zlib 1.2.2.2 and more (with addition of dmax and head

 ;        in inflate_state in inflate.h)

 zlib1222sup      equ    8

 

diff --git a/contrib/masmx86/inffas32.obj b/contrib/masmx86/inffas32.obj
deleted file mode 100644
index bd6664d..0000000
--- a/contrib/masmx86/inffas32.obj
+++ /dev/null
Binary files differ
diff --git a/contrib/minizip/Makefile b/contrib/minizip/Makefile
index fbba3ac..84eaad2 100644
--- a/contrib/minizip/Makefile
+++ b/contrib/minizip/Makefile
@@ -1,25 +1,25 @@
-CC=cc

-CFLAGS=-O -I../..

-

-UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a

-ZIP_OBJS = minizip.o zip.o   ioapi.o ../../libz.a

-

-.c.o:

-	$(CC) -c $(CFLAGS) $*.c

-

-all: miniunz minizip

-

-miniunz:  $(UNZ_OBJS)

-	$(CC) $(CFLAGS) -o $@ $(UNZ_OBJS)

-

-minizip:  $(ZIP_OBJS)

-	$(CC) $(CFLAGS) -o $@ $(ZIP_OBJS)

-

-test:	miniunz minizip

-	./minizip test readme.txt

-	./miniunz -l test.zip

-	mv readme.txt readme.old

-	./miniunz test.zip

-

-clean:

-	/bin/rm -f *.o *~ minizip miniunz

+CC=cc
+CFLAGS=-O -I../..
+
+UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a
+ZIP_OBJS = minizip.o zip.o   ioapi.o ../../libz.a
+
+.c.o:
+	$(CC) -c $(CFLAGS) $*.c
+
+all: miniunz minizip
+
+miniunz:  $(UNZ_OBJS)
+	$(CC) $(CFLAGS) -o $@ $(UNZ_OBJS)
+
+minizip:  $(ZIP_OBJS)
+	$(CC) $(CFLAGS) -o $@ $(ZIP_OBJS)
+
+test:	miniunz minizip
+	./minizip test readme.txt
+	./miniunz -l test.zip
+	mv readme.txt readme.old
+	./miniunz test.zip
+
+clean:
+	/bin/rm -f *.o *~ minizip miniunz
diff --git a/contrib/minizip/MiniZip64_Changes.txt b/contrib/minizip/MiniZip64_Changes.txt
index 9d370df..436d8b3 100644
--- a/contrib/minizip/MiniZip64_Changes.txt
+++ b/contrib/minizip/MiniZip64_Changes.txt
@@ -1,7 +1,6 @@
-

-MiniZip64 was derrived from MiniZip at version 1.01f

-

-Change in 1.0 (Okt 2009)

- - **TODO - Add history**

- 

- 
\ No newline at end of file
+
+MiniZip64 was derrived from MiniZip at version 1.01f
+
+Change in 1.0 (Okt 2009)
+ - **TODO - Add history**
+
diff --git a/contrib/minizip/MiniZip64_info.txt b/contrib/minizip/MiniZip64_info.txt
index f4eef25..334b0f0 100644
--- a/contrib/minizip/MiniZip64_info.txt
+++ b/contrib/minizip/MiniZip64_info.txt
@@ -1,79 +1,79 @@
-MiniZip64 - Copyright (c) 2009-2010 - Mathias Svensson - Built from MiniZip by Gilles Vollant

-

-Introduction

----------------------

-MiniZip64 is built from MiniZip by Gilles Vollant ( http://www.winimage.com/zLibDll/minizip.html )

-

-When adding ZIP64 support into minizip it would result into breaking compatibility with current minizip.

-And since breaking compatibility in minizip is not wanted. I decided to create a fork of minizip 

-and create minizip64.

-

-Even though MiniZip64 is build from MiniZip, all functions and struct's have changed name so that it 

-would not collide with each other.

-

-

-Background

----------------------

-When adding ZIP64 support I found that Even Rouault have added ZIP64 support for unzip.c into minizip 

-for a open source project called gdal ( http://www.gdal.org/ )

-

-That was used as a starting point. And after that ZIP64 support was added to zip.c

-some refactoring and code cleanup was also done.

-

-

-Changed from MiniZip to MiniZip64

--------------------------------------

-* Filenames has got a '64' at the end of them . eg unzip.c is now called unzip64.c

-* Added ZIP64 support for unzip ( by Even Rouault )

-* Added ZIP64 support for zip ( by Mathias Svensson )

-* Reverted some changed that Even Rouault did.

-* Bunch of patches received from Gulles Vollant that he received for MiniZip from various users.

-* Added unzip patch for BZIP Compression method (patch create by Daniel Borca)

-* Added BZIP Compress method for zip

-* Did some refactoring and code cleanup

-

-

-Credits 

-

- Gilles Vollant    - Original MiniZip author

- Even Rouault      - ZIP64 unzip Support

- Daniel Borca      - BZip Compression method support in unzip

- Mathias Svensson  - ZIP64 zip support

- Mathias Svensson  - BZip Compression method support in zip

- 

- Resources 

- 

- ZipLayout   http://result42.com/projects/ZipFileLayout

-             Command line tool for Windows that shows the layout and information of the headers in a zip archive.

-             Used when debugging and validating the creation of zip files using MiniZip64

-			 

-			 

- ZIP App Note  http://www.pkware.com/documents/casestudies/APPNOTE.TXT

-               Zip File specification

-        

-

-Notes.

- * To be able to use BZip compression method in zip64.c or unzip64.c the BZIP2 lib is needed and HAVE_BZIP2 need to be defined.

-

-License

-----------------------------------------------------------

-   Condition of use and distribution are the same than zlib :

-

-  This software is provided 'as-is', without any express or implied

-  warranty.  In no event will the authors 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.

-

-----------------------------------------------------------

-

+MiniZip64 - Copyright (c) 2009-2010 - Mathias Svensson - Built from MiniZip by Gilles Vollant
+
+Introduction
+---------------------
+MiniZip64 is built from MiniZip by Gilles Vollant ( http://www.winimage.com/zLibDll/minizip.html )
+
+When adding ZIP64 support into minizip it would result into breaking compatibility with current minizip.
+And since breaking compatibility in minizip is not wanted. I decided to create a fork of minizip
+and create minizip64.
+
+Even though MiniZip64 is build from MiniZip, all functions and struct's have changed name so that it
+would not collide with each other.
+
+
+Background
+---------------------
+When adding ZIP64 support I found that Even Rouault have added ZIP64 support for unzip.c into minizip
+for a open source project called gdal ( http://www.gdal.org/ )
+
+That was used as a starting point. And after that ZIP64 support was added to zip.c
+some refactoring and code cleanup was also done.
+
+
+Changed from MiniZip to MiniZip64
+-------------------------------------
+* Filenames has got a '64' at the end of them . eg unzip.c is now called unzip64.c
+* Added ZIP64 support for unzip ( by Even Rouault )
+* Added ZIP64 support for zip ( by Mathias Svensson )
+* Reverted some changed that Even Rouault did.
+* Bunch of patches received from Gulles Vollant that he received for MiniZip from various users.
+* Added unzip patch for BZIP Compression method (patch create by Daniel Borca)
+* Added BZIP Compress method for zip
+* Did some refactoring and code cleanup
+
+
+Credits
+
+ Gilles Vollant    - Original MiniZip author
+ Even Rouault      - ZIP64 unzip Support
+ Daniel Borca      - BZip Compression method support in unzip
+ Mathias Svensson  - ZIP64 zip support
+ Mathias Svensson  - BZip Compression method support in zip
+
+ Resources
+
+ ZipLayout   http://result42.com/projects/ZipFileLayout
+             Command line tool for Windows that shows the layout and information of the headers in a zip archive.
+             Used when debugging and validating the creation of zip files using MiniZip64
+
+
+ ZIP App Note  http://www.pkware.com/documents/casestudies/APPNOTE.TXT
+               Zip File specification
+
+
+Notes.
+ * To be able to use BZip compression method in zip64.c or unzip64.c the BZIP2 lib is needed and HAVE_BZIP2 need to be defined.
+
+License
+----------------------------------------------------------
+   Condition of use and distribution are the same than zlib :
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors 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.
+
+----------------------------------------------------------
+
diff --git a/contrib/minizip/crypt.h b/contrib/minizip/crypt.h
index 679e2a1..a01d08d 100644
--- a/contrib/minizip/crypt.h
+++ b/contrib/minizip/crypt.h
@@ -91,7 +91,7 @@
                      unsigned char* buf,      /* where to write header */
                      int bufSize,
                      unsigned long* pkeys,
-                     const unsigned long* pcrc_32_tab, 
+                     const unsigned long* pcrc_32_tab,
                      unsigned long crcForCrypting)
 {
     int n;                       /* index in random header */
diff --git a/contrib/minizip/ioapi.c b/contrib/minizip/ioapi.c
index 36ed0e0..a5f1e0b 100644
--- a/contrib/minizip/ioapi.c
+++ b/contrib/minizip/ioapi.c
@@ -3,7 +3,7 @@
 
 	 Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
 
-	 Modifications for Zip64 support 
+	 Modifications for Zip64 support
 	 Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
 
 	 For more info read MiniZip_info.txt
diff --git a/contrib/minizip/ioapi.h b/contrib/minizip/ioapi.h
index f443d82..1c7feb0 100644
--- a/contrib/minizip/ioapi.h
+++ b/contrib/minizip/ioapi.h
@@ -3,7 +3,7 @@
 
 	 Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
 
-	 Modifications for Zip64 support 
+	 Modifications for Zip64 support
 	 Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
 
 	 For more info read MiniZip_info.txt
@@ -13,7 +13,7 @@
     Oct-2009 - Defined ZPOS64_T to fpos_t on windows and u_int64_t on linux. (might need to find a better why for this)
     Oct-2009 - Change to fseeko64, ftello64 and fopen64 so large files would work on linux.
                More if/def section may be needed to support other platforms
-    Oct-2009 - Defined fxxxx64 calls to normal fopen/ftell/fseek so they would compile on windows. 
+    Oct-2009 - Defined fxxxx64 calls to normal fopen/ftell/fseek so they would compile on windows.
 		          (but you should use iowin32.c for windows instead)
 
 */
@@ -21,7 +21,7 @@
 #ifndef _ZLIBIOAPI64_H
 #define _ZLIBIOAPI64_H
 
-#ifndef _WIN32 
+#ifndef _WIN32
 
   // Linux needs this to support file operation on files larger then 4+GB
   // But might need better if/def to select just the platforms that needs them.
@@ -60,7 +60,7 @@
   #ifdef _WIN32
 		#define ZPOS64_T fpos_t
   #else
-    #include <stdint.h>       	
+    #include <stdint.h>
     #define ZPOS64_T uint64_t
   #endif
 #endif
diff --git a/contrib/minizip/iowin32.c b/contrib/minizip/iowin32.c
index 92b9352..43a5715 100644
--- a/contrib/minizip/iowin32.c
+++ b/contrib/minizip/iowin32.c
@@ -4,7 +4,7 @@
 
 	 Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
 
-	 Modifications for Zip64 support 
+	 Modifications for Zip64 support
 	 Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
 
      For more info read MiniZip_info.txt
diff --git a/contrib/minizip/iowin32.h b/contrib/minizip/iowin32.h
index cc77ec4..1b6c533 100644
--- a/contrib/minizip/iowin32.h
+++ b/contrib/minizip/iowin32.h
@@ -4,7 +4,7 @@
 
 	 Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
 
-	 Modifications for Zip64 support 
+	 Modifications for Zip64 support
 	 Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
 
 	 For more info read MiniZip_info.txt
diff --git a/contrib/minizip/make_vms.com b/contrib/minizip/make_vms.com
index 548ee29..23e1a3a 100644
--- a/contrib/minizip/make_vms.com
+++ b/contrib/minizip/make_vms.com
@@ -12,7 +12,7 @@
 $ copy vmsdefs.h,ioapi.h_orig ioapi.h
 $ cc/include=[--]/prefix=all ioapi.c
 $ cc/include=[--]/prefix=all miniunz.c
-$ cc/include=[--]/prefix=all unzip.c 
+$ cc/include=[--]/prefix=all unzip.c
 $ cc/include=[--]/prefix=all minizip.c
 $ cc/include=[--]/prefix=all zip.c
 $ link miniunz,unzip,ioapi,[--]libz.olb/lib
diff --git a/contrib/minizip/miniunz.c b/contrib/minizip/miniunz.c
index c0a07ab..cad8ae2 100644
--- a/contrib/minizip/miniunz.c
+++ b/contrib/minizip/miniunz.c
@@ -12,7 +12,7 @@
 	 Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
 */
 
-#ifndef _WIN32 
+#ifndef _WIN32
 	#ifndef __USE_FILE_OFFSET64
 		#define __USE_FILE_OFFSET64
 	#endif
@@ -375,7 +375,7 @@
 
                     printf("The file %s exists. Overwrite ? [y]es, [n]o, [A]ll: ",write_filename);
                     ret = scanf("%1s",answer);
-                    if (ret != 1) 
+                    if (ret != 1)
                     {
                        exit(EXIT_FAILURE);
                     }
@@ -627,9 +627,9 @@
     else if (opt_do_extract==1)
     {
 #ifdef _WIN32
-        if (opt_extractdir && _chdir(dirname)) 
+        if (opt_extractdir && _chdir(dirname))
 #else
-        if (opt_extractdir && chdir(dirname)) 
+        if (opt_extractdir && chdir(dirname))
 #endif
         {
           printf("Error changing into %s, aborting\n", dirname);
diff --git a/contrib/minizip/minizip.c b/contrib/minizip/minizip.c
index 4ce33af..ca26091 100644
--- a/contrib/minizip/minizip.c
+++ b/contrib/minizip/minizip.c
@@ -13,7 +13,7 @@
 */
 
 
-#ifndef _WIN32 
+#ifndef _WIN32
 	#ifndef __USE_FILE_OFFSET64
 		#define __USE_FILE_OFFSET64
 	#endif
@@ -219,15 +219,15 @@
     int n = fseeko64(pFile, 0, SEEK_END);
 
     pos = ftello64(pFile);
-    
+
 		printf("File : %s is %lld bytes\n", filename, pos);
-    
+
     if(pos >= 0xffffffff)
      largeFile = 1;
 
 		fclose(pFile);
   }
-  
+
  return largeFile;
 }
 
@@ -406,7 +406,7 @@
 */
                 if ((password != NULL) && (err==ZIP_OK))
                     err = getFileCrc(filenameinzip,buf,size_buf,&crcFile);
- 
+
                 zip64 = isLargeFile(filenameinzip);
 
 							 /* The path name saved, should not include a leading slash. */
diff --git a/contrib/minizip/mztools.c b/contrib/minizip/mztools.c
index bc5c798..f9092e6 100644
--- a/contrib/minizip/mztools.c
+++ b/contrib/minizip/mztools.c
@@ -1,281 +1,281 @@
-/*

-  Additional tools for Minizip

-  Code: Xavier Roche '2004

-  License: Same as ZLIB (www.gzip.org)

-*/

-

-/* Code */

-#include <stdio.h>

-#include <stdlib.h>

-#include <string.h>

-#include "zlib.h"

-#include "unzip.h"

-

-#define READ_8(adr)  ((unsigned char)*(adr))

-#define READ_16(adr) ( READ_8(adr) | (READ_8(adr+1) << 8) )

-#define READ_32(adr) ( READ_16(adr) | (READ_16((adr)+2) << 16) )

-

-#define WRITE_8(buff, n) do { \

-  *((unsigned char*)(buff)) = (unsigned char) ((n) & 0xff); \

-} while(0)

-#define WRITE_16(buff, n) do { \

-  WRITE_8((unsigned char*)(buff), n); \

-  WRITE_8(((unsigned char*)(buff)) + 1, (n) >> 8); \

-} while(0)

-#define WRITE_32(buff, n) do { \

-  WRITE_16((unsigned char*)(buff), (n) & 0xffff); \

-  WRITE_16((unsigned char*)(buff) + 2, (n) >> 16); \

-} while(0)

-

-extern int ZEXPORT unzRepair(file, fileOut, fileOutTmp, nRecovered, bytesRecovered)

-const char* file;

-const char* fileOut;

-const char* fileOutTmp;

-uLong* nRecovered;

-uLong* bytesRecovered;

-{

-  int err = Z_OK;

-  FILE* fpZip = fopen(file, "rb");

-  FILE* fpOut = fopen(fileOut, "wb");

-  FILE* fpOutCD = fopen(fileOutTmp, "wb");

-  if (fpZip != NULL &&  fpOut != NULL) {

-    int entries = 0;

-    uLong totalBytes = 0;

-    char header[30];

-    char filename[256];

-    char extra[1024];

-    int offset = 0;

-    int offsetCD = 0;

-    while ( fread(header, 1, 30, fpZip) == 30 ) {

-      int currentOffset = offset;

-

-      /* File entry */

-      if (READ_32(header) == 0x04034b50) {

-        unsigned int version = READ_16(header + 4);

-        unsigned int gpflag = READ_16(header + 6);

-        unsigned int method = READ_16(header + 8);

-        unsigned int filetime = READ_16(header + 10);

-        unsigned int filedate = READ_16(header + 12);

-        unsigned int crc = READ_32(header + 14); /* crc */

-        unsigned int cpsize = READ_32(header + 18); /* compressed size */

-        unsigned int uncpsize = READ_32(header + 22); /* uncompressed sz */

-        unsigned int fnsize = READ_16(header + 26); /* file name length */

-        unsigned int extsize = READ_16(header + 28); /* extra field length */

-        filename[0] = extra[0] = '\0';

-        

-        /* Header */

-        if (fwrite(header, 1, 30, fpOut) == 30) {

-          offset += 30;

-        } else {

-          err = Z_ERRNO;

-          break;

-        }

-        

-        /* Filename */

-        if (fnsize > 0) {

-          if (fread(filename, 1, fnsize, fpZip) == fnsize) {

-            if (fwrite(filename, 1, fnsize, fpOut) == fnsize) {

-              offset += fnsize;

-            } else {

-              err = Z_ERRNO;

-              break;

-            }

-          } else {

-            err = Z_ERRNO;

-            break;

-          }

-        } else {

-          err = Z_STREAM_ERROR;

-          break;

-        }

-

-        /* Extra field */

-        if (extsize > 0) {

-          if (fread(extra, 1, extsize, fpZip) == extsize) {

-            if (fwrite(extra, 1, extsize, fpOut) == extsize) {

-              offset += extsize;

-            } else {

-              err = Z_ERRNO;

-              break;

-            }

-          } else {

-            err = Z_ERRNO;

-            break;

-          }

-        }

-        

-        /* Data */

-        {

-          int dataSize = cpsize;

-          if (dataSize == 0) {

-            dataSize = uncpsize;

-          }

-          if (dataSize > 0) {

-            char* data = malloc(dataSize);

-            if (data != NULL) {

-              if ((int)fread(data, 1, dataSize, fpZip) == dataSize) {

-                if ((int)fwrite(data, 1, dataSize, fpOut) == dataSize) {

-                  offset += dataSize;

-                  totalBytes += dataSize;

-                } else {

-                  err = Z_ERRNO;

-                }

-              } else {

-                err = Z_ERRNO;

-              }

-              free(data);

-              if (err != Z_OK) {

-                break;

-              }

-            } else {

-              err = Z_MEM_ERROR;

-              break;

-            }

-          }

-        }

-        

-        /* Central directory entry */

-        {

-          char header[46];

-          char* comment = "";

-          int comsize = (int) strlen(comment);

-          WRITE_32(header, 0x02014b50);

-          WRITE_16(header + 4, version);

-          WRITE_16(header + 6, version);

-          WRITE_16(header + 8, gpflag);

-          WRITE_16(header + 10, method);

-          WRITE_16(header + 12, filetime);

-          WRITE_16(header + 14, filedate);

-          WRITE_32(header + 16, crc);

-          WRITE_32(header + 20, cpsize);

-          WRITE_32(header + 24, uncpsize);

-          WRITE_16(header + 28, fnsize);

-          WRITE_16(header + 30, extsize);

-          WRITE_16(header + 32, comsize);

-          WRITE_16(header + 34, 0);     /* disk # */

-          WRITE_16(header + 36, 0);     /* int attrb */

-          WRITE_32(header + 38, 0);     /* ext attrb */

-          WRITE_32(header + 42, currentOffset);

-          /* Header */

-          if (fwrite(header, 1, 46, fpOutCD) == 46) {

-            offsetCD += 46;

-            

-            /* Filename */

-            if (fnsize > 0) {

-              if (fwrite(filename, 1, fnsize, fpOutCD) == fnsize) {

-                offsetCD += fnsize;

-              } else {

-                err = Z_ERRNO;

-                break;

-              }

-            } else {

-              err = Z_STREAM_ERROR;

-              break;

-            }

-            

-            /* Extra field */

-            if (extsize > 0) {

-              if (fwrite(extra, 1, extsize, fpOutCD) == extsize) {

-                offsetCD += extsize;

-              } else {

-                err = Z_ERRNO;

-                break;

-              }

-            }

-            

-            /* Comment field */

-            if (comsize > 0) {

-              if ((int)fwrite(comment, 1, comsize, fpOutCD) == comsize) {

-                offsetCD += comsize;

-              } else {

-                err = Z_ERRNO;

-                break;

-              }

-            }

-            

-            

-          } else {

-            err = Z_ERRNO;

-            break;

-          }

-        }

-

-        /* Success */

-        entries++;

-

-      } else {

-        break;

-      }

-    }

-

-    /* Final central directory  */

-    {

-      int entriesZip = entries;

-      char header[22];

-      char* comment = ""; // "ZIP File recovered by zlib/minizip/mztools";

-      int comsize = (int) strlen(comment);

-      if (entriesZip > 0xffff) {

-        entriesZip = 0xffff;

-      }

-      WRITE_32(header, 0x06054b50);

-      WRITE_16(header + 4, 0);    /* disk # */

-      WRITE_16(header + 6, 0);    /* disk # */

-      WRITE_16(header + 8, entriesZip);   /* hack */

-      WRITE_16(header + 10, entriesZip);  /* hack */

-      WRITE_32(header + 12, offsetCD);    /* size of CD */

-      WRITE_32(header + 16, offset);      /* offset to CD */

-      WRITE_16(header + 20, comsize);     /* comment */

-      

-      /* Header */

-      if (fwrite(header, 1, 22, fpOutCD) == 22) {

-        

-        /* Comment field */

-        if (comsize > 0) {

-          if ((int)fwrite(comment, 1, comsize, fpOutCD) != comsize) {

-            err = Z_ERRNO;

-          }

-        }

-        

-      } else {

-        err = Z_ERRNO;

-      }

-    }

-

-    /* Final merge (file + central directory) */

-    fclose(fpOutCD);

-    if (err == Z_OK) {

-      fpOutCD = fopen(fileOutTmp, "rb");

-      if (fpOutCD != NULL) {

-        int nRead;

-        char buffer[8192];

-        while ( (nRead = (int)fread(buffer, 1, sizeof(buffer), fpOutCD)) > 0) {

-          if ((int)fwrite(buffer, 1, nRead, fpOut) != nRead) {

-            err = Z_ERRNO;

-            break;

-          }

-        }

-        fclose(fpOutCD);

-      }

-    }

-    

-    /* Close */

-    fclose(fpZip);

-    fclose(fpOut);

-    

-    /* Wipe temporary file */

-    (void)remove(fileOutTmp);

-    

-    /* Number of recovered entries */

-    if (err == Z_OK) {

-      if (nRecovered != NULL) {

-        *nRecovered = entries;

-      }

-      if (bytesRecovered != NULL) {

-        *bytesRecovered = totalBytes;

-      }

-    }

-  } else {

-    err = Z_STREAM_ERROR;

-  }

-  return err;

-}

+/*
+  Additional tools for Minizip
+  Code: Xavier Roche '2004
+  License: Same as ZLIB (www.gzip.org)
+*/
+
+/* Code */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "zlib.h"
+#include "unzip.h"
+
+#define READ_8(adr)  ((unsigned char)*(adr))
+#define READ_16(adr) ( READ_8(adr) | (READ_8(adr+1) << 8) )
+#define READ_32(adr) ( READ_16(adr) | (READ_16((adr)+2) << 16) )
+
+#define WRITE_8(buff, n) do { \
+  *((unsigned char*)(buff)) = (unsigned char) ((n) & 0xff); \
+} while(0)
+#define WRITE_16(buff, n) do { \
+  WRITE_8((unsigned char*)(buff), n); \
+  WRITE_8(((unsigned char*)(buff)) + 1, (n) >> 8); \
+} while(0)
+#define WRITE_32(buff, n) do { \
+  WRITE_16((unsigned char*)(buff), (n) & 0xffff); \
+  WRITE_16((unsigned char*)(buff) + 2, (n) >> 16); \
+} while(0)
+
+extern int ZEXPORT unzRepair(file, fileOut, fileOutTmp, nRecovered, bytesRecovered)
+const char* file;
+const char* fileOut;
+const char* fileOutTmp;
+uLong* nRecovered;
+uLong* bytesRecovered;
+{
+  int err = Z_OK;
+  FILE* fpZip = fopen(file, "rb");
+  FILE* fpOut = fopen(fileOut, "wb");
+  FILE* fpOutCD = fopen(fileOutTmp, "wb");
+  if (fpZip != NULL &&  fpOut != NULL) {
+    int entries = 0;
+    uLong totalBytes = 0;
+    char header[30];
+    char filename[256];
+    char extra[1024];
+    int offset = 0;
+    int offsetCD = 0;
+    while ( fread(header, 1, 30, fpZip) == 30 ) {
+      int currentOffset = offset;
+
+      /* File entry */
+      if (READ_32(header) == 0x04034b50) {
+        unsigned int version = READ_16(header + 4);
+        unsigned int gpflag = READ_16(header + 6);
+        unsigned int method = READ_16(header + 8);
+        unsigned int filetime = READ_16(header + 10);
+        unsigned int filedate = READ_16(header + 12);
+        unsigned int crc = READ_32(header + 14); /* crc */
+        unsigned int cpsize = READ_32(header + 18); /* compressed size */
+        unsigned int uncpsize = READ_32(header + 22); /* uncompressed sz */
+        unsigned int fnsize = READ_16(header + 26); /* file name length */
+        unsigned int extsize = READ_16(header + 28); /* extra field length */
+        filename[0] = extra[0] = '\0';
+
+        /* Header */
+        if (fwrite(header, 1, 30, fpOut) == 30) {
+          offset += 30;
+        } else {
+          err = Z_ERRNO;
+          break;
+        }
+
+        /* Filename */
+        if (fnsize > 0) {
+          if (fread(filename, 1, fnsize, fpZip) == fnsize) {
+            if (fwrite(filename, 1, fnsize, fpOut) == fnsize) {
+              offset += fnsize;
+            } else {
+              err = Z_ERRNO;
+              break;
+            }
+          } else {
+            err = Z_ERRNO;
+            break;
+          }
+        } else {
+          err = Z_STREAM_ERROR;
+          break;
+        }
+
+        /* Extra field */
+        if (extsize > 0) {
+          if (fread(extra, 1, extsize, fpZip) == extsize) {
+            if (fwrite(extra, 1, extsize, fpOut) == extsize) {
+              offset += extsize;
+            } else {
+              err = Z_ERRNO;
+              break;
+            }
+          } else {
+            err = Z_ERRNO;
+            break;
+          }
+        }
+
+        /* Data */
+        {
+          int dataSize = cpsize;
+          if (dataSize == 0) {
+            dataSize = uncpsize;
+          }
+          if (dataSize > 0) {
+            char* data = malloc(dataSize);
+            if (data != NULL) {
+              if ((int)fread(data, 1, dataSize, fpZip) == dataSize) {
+                if ((int)fwrite(data, 1, dataSize, fpOut) == dataSize) {
+                  offset += dataSize;
+                  totalBytes += dataSize;
+                } else {
+                  err = Z_ERRNO;
+                }
+              } else {
+                err = Z_ERRNO;
+              }
+              free(data);
+              if (err != Z_OK) {
+                break;
+              }
+            } else {
+              err = Z_MEM_ERROR;
+              break;
+            }
+          }
+        }
+
+        /* Central directory entry */
+        {
+          char header[46];
+          char* comment = "";
+          int comsize = (int) strlen(comment);
+          WRITE_32(header, 0x02014b50);
+          WRITE_16(header + 4, version);
+          WRITE_16(header + 6, version);
+          WRITE_16(header + 8, gpflag);
+          WRITE_16(header + 10, method);
+          WRITE_16(header + 12, filetime);
+          WRITE_16(header + 14, filedate);
+          WRITE_32(header + 16, crc);
+          WRITE_32(header + 20, cpsize);
+          WRITE_32(header + 24, uncpsize);
+          WRITE_16(header + 28, fnsize);
+          WRITE_16(header + 30, extsize);
+          WRITE_16(header + 32, comsize);
+          WRITE_16(header + 34, 0);     /* disk # */
+          WRITE_16(header + 36, 0);     /* int attrb */
+          WRITE_32(header + 38, 0);     /* ext attrb */
+          WRITE_32(header + 42, currentOffset);
+          /* Header */
+          if (fwrite(header, 1, 46, fpOutCD) == 46) {
+            offsetCD += 46;
+
+            /* Filename */
+            if (fnsize > 0) {
+              if (fwrite(filename, 1, fnsize, fpOutCD) == fnsize) {
+                offsetCD += fnsize;
+              } else {
+                err = Z_ERRNO;
+                break;
+              }
+            } else {
+              err = Z_STREAM_ERROR;
+              break;
+            }
+
+            /* Extra field */
+            if (extsize > 0) {
+              if (fwrite(extra, 1, extsize, fpOutCD) == extsize) {
+                offsetCD += extsize;
+              } else {
+                err = Z_ERRNO;
+                break;
+              }
+            }
+
+            /* Comment field */
+            if (comsize > 0) {
+              if ((int)fwrite(comment, 1, comsize, fpOutCD) == comsize) {
+                offsetCD += comsize;
+              } else {
+                err = Z_ERRNO;
+                break;
+              }
+            }
+
+
+          } else {
+            err = Z_ERRNO;
+            break;
+          }
+        }
+
+        /* Success */
+        entries++;
+
+      } else {
+        break;
+      }
+    }
+
+    /* Final central directory  */
+    {
+      int entriesZip = entries;
+      char header[22];
+      char* comment = ""; // "ZIP File recovered by zlib/minizip/mztools";
+      int comsize = (int) strlen(comment);
+      if (entriesZip > 0xffff) {
+        entriesZip = 0xffff;
+      }
+      WRITE_32(header, 0x06054b50);
+      WRITE_16(header + 4, 0);    /* disk # */
+      WRITE_16(header + 6, 0);    /* disk # */
+      WRITE_16(header + 8, entriesZip);   /* hack */
+      WRITE_16(header + 10, entriesZip);  /* hack */
+      WRITE_32(header + 12, offsetCD);    /* size of CD */
+      WRITE_32(header + 16, offset);      /* offset to CD */
+      WRITE_16(header + 20, comsize);     /* comment */
+
+      /* Header */
+      if (fwrite(header, 1, 22, fpOutCD) == 22) {
+
+        /* Comment field */
+        if (comsize > 0) {
+          if ((int)fwrite(comment, 1, comsize, fpOutCD) != comsize) {
+            err = Z_ERRNO;
+          }
+        }
+
+      } else {
+        err = Z_ERRNO;
+      }
+    }
+
+    /* Final merge (file + central directory) */
+    fclose(fpOutCD);
+    if (err == Z_OK) {
+      fpOutCD = fopen(fileOutTmp, "rb");
+      if (fpOutCD != NULL) {
+        int nRead;
+        char buffer[8192];
+        while ( (nRead = (int)fread(buffer, 1, sizeof(buffer), fpOutCD)) > 0) {
+          if ((int)fwrite(buffer, 1, nRead, fpOut) != nRead) {
+            err = Z_ERRNO;
+            break;
+          }
+        }
+        fclose(fpOutCD);
+      }
+    }
+
+    /* Close */
+    fclose(fpZip);
+    fclose(fpOut);
+
+    /* Wipe temporary file */
+    (void)remove(fileOutTmp);
+
+    /* Number of recovered entries */
+    if (err == Z_OK) {
+      if (nRecovered != NULL) {
+        *nRecovered = entries;
+      }
+      if (bytesRecovered != NULL) {
+        *bytesRecovered = totalBytes;
+      }
+    }
+  } else {
+    err = Z_STREAM_ERROR;
+  }
+  return err;
+}
diff --git a/contrib/minizip/mztools.h b/contrib/minizip/mztools.h
index 82d1597..88b3459 100644
--- a/contrib/minizip/mztools.h
+++ b/contrib/minizip/mztools.h
@@ -1,31 +1,31 @@
-/*

-  Additional tools for Minizip

-  Code: Xavier Roche '2004

-  License: Same as ZLIB (www.gzip.org)

-*/

-

-#ifndef _zip_tools_H

-#define _zip_tools_H

-

-#ifdef __cplusplus

-extern "C" {

-#endif

-

-#ifndef _ZLIB_H

-#include "zlib.h"

-#endif

-

-#include "unzip.h"

-

-/* Repair a ZIP file (missing central directory) 

-   file: file to recover

-   fileOut: output file after recovery

-   fileOutTmp: temporary file name used for recovery

-*/

-extern int ZEXPORT unzRepair(const char* file, 

-                             const char* fileOut, 

-                             const char* fileOutTmp, 

-                             uLong* nRecovered,

-                             uLong* bytesRecovered);

-

-#endif

+/*
+  Additional tools for Minizip
+  Code: Xavier Roche '2004
+  License: Same as ZLIB (www.gzip.org)
+*/
+
+#ifndef _zip_tools_H
+#define _zip_tools_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef _ZLIB_H
+#include "zlib.h"
+#endif
+
+#include "unzip.h"
+
+/* Repair a ZIP file (missing central directory)
+   file: file to recover
+   fileOut: output file after recovery
+   fileOutTmp: temporary file name used for recovery
+*/
+extern int ZEXPORT unzRepair(const char* file,
+                             const char* fileOut,
+                             const char* fileOutTmp,
+                             uLong* nRecovered,
+                             uLong* bytesRecovered);
+
+#endif
diff --git a/contrib/minizip/unzip.c b/contrib/minizip/unzip.c
index 050d506..6a4d104 100644
--- a/contrib/minizip/unzip.c
+++ b/contrib/minizip/unzip.c
@@ -15,7 +15,7 @@
 
   ------------------------------------------------------------------------------------
   Decryption code comes from crypt.c by Info-ZIP but has been greatly reduced in terms of
-  compatibility with older software. The following is from the original crypt.c. 
+  compatibility with older software. The following is from the original crypt.c.
   Code woven in by Terry Thorsen 1/2003.
 
   Copyright (c) 1990-2000 Info-ZIP.  All rights reserved.
@@ -45,13 +45,13 @@
   2007-2008 - Even Rouault - Decoration of symbol names unz* -> cpl_unz*
   2007-2008 - Even Rouault - Remove old C style function prototypes
   2007-2008 - Even Rouault - Add unzip support for ZIP64
-	
+
 	Copyright (C) 2007-2008 Even Rouault
 
 
 	Okt-2009 - Mathias Svensson - Removed cpl_* from symbol names (Even Rouault added them but since this is now moved to a new project (minizip64) I renamed them again).
   Okt-2009 - Mathias Svensson - Fixed problem if uncompressed size was > 4G and compressed size was <4G
-                                should only read the compressed/uncompressed size from the Zip64 format if 
+                                should only read the compressed/uncompressed size from the Zip64 format if
                                 the size from normal header was 0xFFFFFFFF
   Okt-2009 - Mathias Svensson - Applied some bug fixes from paches recived from Gilles Vollant
 	Okt-2009 - Mathias Svensson - Applied support to unzip files with compression mathod BZIP2 (bzip2 lib is required)
@@ -1010,7 +1010,7 @@
     if ((err==UNZ_OK) && (file_info.size_file_extra != 0))
     {
 				uLong acc = 0;
-        
+
         // since lSeek now points to after the extra field we need to move back
         lSeek -= file_info.size_file_extra;
 
@@ -1826,7 +1826,7 @@
             pfile_in_zip_read_info->stream.next_out  = (Bytef*)pfile_in_zip_read_info->bstream.next_out;
             pfile_in_zip_read_info->stream.avail_out = pfile_in_zip_read_info->bstream.avail_out;
             pfile_in_zip_read_info->stream.total_out = pfile_in_zip_read_info->bstream.total_out_lo32;
-            
+
             if (err==BZ_STREAM_END)
               return (iRead==0) ? UNZ_EOF : iRead;
             if (err!=BZ_OK)
diff --git a/contrib/minizip/unzip.h b/contrib/minizip/unzip.h
index a2e698f..da7fb61 100644
--- a/contrib/minizip/unzip.h
+++ b/contrib/minizip/unzip.h
@@ -13,7 +13,7 @@
 	 For more info read MiniZip_info.txt
 
 	 ---------------------------------------------------------------------------------
- 
+
 	Condition of use and distribution are the same than zlib :
 
   This software is provided 'as-is', without any express or implied
@@ -36,7 +36,7 @@
 
 	Changes
 
-	See header of unzip64.c 
+	See header of unzip64.c
 
 */
 
diff --git a/contrib/minizip/zconf.h b/contrib/minizip/zconf.h
deleted file mode 100644
index 03a9431..0000000
--- a/contrib/minizip/zconf.h
+++ /dev/null
@@ -1,332 +0,0 @@
-/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-2005 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#ifndef ZCONF_H
-#define ZCONF_H
-
-/*
- * If you *really* need a unique prefix for all types and library functions,
- * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
- */
-#ifdef Z_PREFIX
-#  define deflateInit_          z_deflateInit_
-#  define deflate               z_deflate
-#  define deflateEnd            z_deflateEnd
-#  define inflateInit_          z_inflateInit_
-#  define inflate               z_inflate
-#  define inflateEnd            z_inflateEnd
-#  define deflateInit2_         z_deflateInit2_
-#  define deflateSetDictionary  z_deflateSetDictionary
-#  define deflateCopy           z_deflateCopy
-#  define deflateReset          z_deflateReset
-#  define deflateParams         z_deflateParams
-#  define deflateBound          z_deflateBound
-#  define deflatePrime          z_deflatePrime
-#  define inflateInit2_         z_inflateInit2_
-#  define inflateSetDictionary  z_inflateSetDictionary
-#  define inflateSync           z_inflateSync
-#  define inflateSyncPoint      z_inflateSyncPoint
-#  define inflateCopy           z_inflateCopy
-#  define inflateReset          z_inflateReset
-#  define inflateBack           z_inflateBack
-#  define inflateBackEnd        z_inflateBackEnd
-#  define compress              z_compress
-#  define compress2             z_compress2
-#  define compressBound         z_compressBound
-#  define uncompress            z_uncompress
-#  define adler32               z_adler32
-#  define crc32                 z_crc32
-#  define get_crc_table         z_get_crc_table
-#  define zError                z_zError
-
-#  define alloc_func            z_alloc_func
-#  define free_func             z_free_func
-#  define in_func               z_in_func
-#  define out_func              z_out_func
-#  define Byte                  z_Byte
-#  define uInt                  z_uInt
-#  define uLong                 z_uLong
-#  define Bytef                 z_Bytef
-#  define charf                 z_charf
-#  define intf                  z_intf
-#  define uIntf                 z_uIntf
-#  define uLongf                z_uLongf
-#  define voidpf                z_voidpf
-#  define voidp                 z_voidp
-#endif
-
-#if defined(__MSDOS__) && !defined(MSDOS)
-#  define MSDOS
-#endif
-#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
-#  define OS2
-#endif
-#if defined(_WINDOWS) && !defined(WINDOWS)
-#  define WINDOWS
-#endif
-#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
-#  ifndef WIN32
-#    define WIN32
-#  endif
-#endif
-#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
-#  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
-#    ifndef SYS16BIT
-#      define SYS16BIT
-#    endif
-#  endif
-#endif
-
-/*
- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
- * than 64k bytes at a time (needed on systems with 16-bit int).
- */
-#ifdef SYS16BIT
-#  define MAXSEG_64K
-#endif
-#ifdef MSDOS
-#  define UNALIGNED_OK
-#endif
-
-#ifdef __STDC_VERSION__
-#  ifndef STDC
-#    define STDC
-#  endif
-#  if __STDC_VERSION__ >= 199901L
-#    ifndef STDC99
-#      define STDC99
-#    endif
-#  endif
-#endif
-#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
-#  define STDC
-#endif
-#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
-#  define STDC
-#endif
-#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
-#  define STDC
-#endif
-#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
-#  define STDC
-#endif
-
-#if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
-#  define STDC
-#endif
-
-#ifndef STDC
-#  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
-#    define const       /* note: need a more gentle solution here */
-#  endif
-#endif
-
-/* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
-#  define NO_DUMMY_DECL
-#endif
-
-/* Maximum value for memLevel in deflateInit2 */
-#ifndef MAX_MEM_LEVEL
-#  ifdef MAXSEG_64K
-#    define MAX_MEM_LEVEL 8
-#  else
-#    define MAX_MEM_LEVEL 9
-#  endif
-#endif
-
-/* Maximum value for windowBits in deflateInit2 and inflateInit2.
- * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
- * created by gzip. (Files created by minigzip can still be extracted by
- * gzip.)
- */
-#ifndef MAX_WBITS
-#  define MAX_WBITS   15 /* 32K LZ77 window */
-#endif
-
-/* The memory requirements for deflate are (in bytes):
-            (1 << (windowBits+2)) +  (1 << (memLevel+9))
- that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
- plus a few kilobytes for small objects. For example, if you want to reduce
- the default memory requirements from 256K to 128K, compile with
-     make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
- Of course this will generally degrade compression (there's no free lunch).
-
-   The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
- for small objects.
-*/
-
-                        /* Type declarations */
-
-#ifndef OF /* function prototypes */
-#  ifdef STDC
-#    define OF(args)  args
-#  else
-#    define OF(args)  ()
-#  endif
-#endif
-
-/* The following definitions for FAR are needed only for MSDOS mixed
- * model programming (small or medium model with some far allocations).
- * This was tested only with MSC; for other MSDOS compilers you may have
- * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
- * just define FAR to be empty.
- */
-#ifdef SYS16BIT
-#  if defined(M_I86SM) || defined(M_I86MM)
-     /* MSC small or medium model */
-#    define SMALL_MEDIUM
-#    ifdef _MSC_VER
-#      define FAR _far
-#    else
-#      define FAR far
-#    endif
-#  endif
-#  if (defined(__SMALL__) || defined(__MEDIUM__))
-     /* Turbo C small or medium model */
-#    define SMALL_MEDIUM
-#    ifdef __BORLANDC__
-#      define FAR _far
-#    else
-#      define FAR far
-#    endif
-#  endif
-#endif
-
-#if defined(WINDOWS) || defined(WIN32)
-   /* If building or using zlib as a DLL, define ZLIB_DLL.
-    * This is not mandatory, but it offers a little performance increase.
-    */
-#  ifdef ZLIB_DLL
-#    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
-#      ifdef ZLIB_INTERNAL
-#        define ZEXTERN extern __declspec(dllexport)
-#      else
-#        define ZEXTERN extern __declspec(dllimport)
-#      endif
-#    endif
-#  endif  /* ZLIB_DLL */
-   /* If building or using zlib with the WINAPI/WINAPIV calling convention,
-    * define ZLIB_WINAPI.
-    * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
-    */
-#  ifdef ZLIB_WINAPI
-#    ifdef FAR
-#      undef FAR
-#    endif
-#    include <windows.h>
-     /* No need for _export, use ZLIB.DEF instead. */
-     /* For complete Windows compatibility, use WINAPI, not __stdcall. */
-#    define ZEXPORT WINAPI
-#    ifdef WIN32
-#      define ZEXPORTVA WINAPIV
-#    else
-#      define ZEXPORTVA FAR CDECL
-#    endif
-#  endif
-#endif
-
-#if defined (__BEOS__)
-#  ifdef ZLIB_DLL
-#    ifdef ZLIB_INTERNAL
-#      define ZEXPORT   __declspec(dllexport)
-#      define ZEXPORTVA __declspec(dllexport)
-#    else
-#      define ZEXPORT   __declspec(dllimport)
-#      define ZEXPORTVA __declspec(dllimport)
-#    endif
-#  endif
-#endif
-
-#ifndef ZEXTERN
-#  define ZEXTERN extern
-#endif
-#ifndef ZEXPORT
-#  define ZEXPORT
-#endif
-#ifndef ZEXPORTVA
-#  define ZEXPORTVA
-#endif
-
-#ifndef FAR
-#  define FAR
-#endif
-
-#if !defined(__MACTYPES__)
-typedef unsigned char  Byte;  /* 8 bits */
-#endif
-typedef unsigned int   uInt;  /* 16 bits or more */
-typedef unsigned long  uLong; /* 32 bits or more */
-
-#ifdef SMALL_MEDIUM
-   /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
-#  define Bytef Byte FAR
-#else
-   typedef Byte  FAR Bytef;
-#endif
-typedef char  FAR charf;
-typedef int   FAR intf;
-typedef uInt  FAR uIntf;
-typedef uLong FAR uLongf;
-
-#ifdef STDC
-   typedef void const *voidpc;
-   typedef void FAR   *voidpf;
-   typedef void       *voidp;
-#else
-   typedef Byte const *voidpc;
-   typedef Byte FAR   *voidpf;
-   typedef Byte       *voidp;
-#endif
-
-#if 0           /* HAVE_UNISTD_H -- this line is updated by ./configure */
-#  include <sys/types.h> /* for off_t */
-#  include <unistd.h>    /* for SEEK_* and off_t */
-#  ifdef VMS
-#    include <unixio.h>   /* for off_t */
-#  endif
-#  define z_off_t off_t
-#endif
-#ifndef SEEK_SET
-#  define SEEK_SET        0       /* Seek from beginning of file.  */
-#  define SEEK_CUR        1       /* Seek from current position.  */
-#  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
-#endif
-#ifndef z_off_t
-#  define z_off_t long
-#endif
-
-#if defined(__OS400__)
-#  define NO_vsnprintf
-#endif
-
-#if defined(__MVS__)
-#  define NO_vsnprintf
-#  ifdef FAR
-#    undef FAR
-#  endif
-#endif
-
-/* MVS linker does not support external names larger than 8 bytes */
-#if defined(__MVS__)
-#   pragma map(deflateInit_,"DEIN")
-#   pragma map(deflateInit2_,"DEIN2")
-#   pragma map(deflateEnd,"DEEND")
-#   pragma map(deflateBound,"DEBND")
-#   pragma map(inflateInit_,"ININ")
-#   pragma map(inflateInit2_,"ININ2")
-#   pragma map(inflateEnd,"INEND")
-#   pragma map(inflateSync,"INSY")
-#   pragma map(inflateSetDictionary,"INSEDI")
-#   pragma map(compressBound,"CMBND")
-#   pragma map(inflate_table,"INTABL")
-#   pragma map(inflate_fast,"INFA")
-#   pragma map(inflate_copyright,"INCOPY")
-#endif
-
-#endif /* ZCONF_H */
diff --git a/contrib/minizip/zconf.in.h b/contrib/minizip/zconf.in.h
deleted file mode 100644
index 03a9431..0000000
--- a/contrib/minizip/zconf.in.h
+++ /dev/null
@@ -1,332 +0,0 @@
-/* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-2005 Jean-loup Gailly.
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-/* @(#) $Id$ */
-
-#ifndef ZCONF_H
-#define ZCONF_H
-
-/*
- * If you *really* need a unique prefix for all types and library functions,
- * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
- */
-#ifdef Z_PREFIX
-#  define deflateInit_          z_deflateInit_
-#  define deflate               z_deflate
-#  define deflateEnd            z_deflateEnd
-#  define inflateInit_          z_inflateInit_
-#  define inflate               z_inflate
-#  define inflateEnd            z_inflateEnd
-#  define deflateInit2_         z_deflateInit2_
-#  define deflateSetDictionary  z_deflateSetDictionary
-#  define deflateCopy           z_deflateCopy
-#  define deflateReset          z_deflateReset
-#  define deflateParams         z_deflateParams
-#  define deflateBound          z_deflateBound
-#  define deflatePrime          z_deflatePrime
-#  define inflateInit2_         z_inflateInit2_
-#  define inflateSetDictionary  z_inflateSetDictionary
-#  define inflateSync           z_inflateSync
-#  define inflateSyncPoint      z_inflateSyncPoint
-#  define inflateCopy           z_inflateCopy
-#  define inflateReset          z_inflateReset
-#  define inflateBack           z_inflateBack
-#  define inflateBackEnd        z_inflateBackEnd
-#  define compress              z_compress
-#  define compress2             z_compress2
-#  define compressBound         z_compressBound
-#  define uncompress            z_uncompress
-#  define adler32               z_adler32
-#  define crc32                 z_crc32
-#  define get_crc_table         z_get_crc_table
-#  define zError                z_zError
-
-#  define alloc_func            z_alloc_func
-#  define free_func             z_free_func
-#  define in_func               z_in_func
-#  define out_func              z_out_func
-#  define Byte                  z_Byte
-#  define uInt                  z_uInt
-#  define uLong                 z_uLong
-#  define Bytef                 z_Bytef
-#  define charf                 z_charf
-#  define intf                  z_intf
-#  define uIntf                 z_uIntf
-#  define uLongf                z_uLongf
-#  define voidpf                z_voidpf
-#  define voidp                 z_voidp
-#endif
-
-#if defined(__MSDOS__) && !defined(MSDOS)
-#  define MSDOS
-#endif
-#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
-#  define OS2
-#endif
-#if defined(_WINDOWS) && !defined(WINDOWS)
-#  define WINDOWS
-#endif
-#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
-#  ifndef WIN32
-#    define WIN32
-#  endif
-#endif
-#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
-#  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
-#    ifndef SYS16BIT
-#      define SYS16BIT
-#    endif
-#  endif
-#endif
-
-/*
- * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
- * than 64k bytes at a time (needed on systems with 16-bit int).
- */
-#ifdef SYS16BIT
-#  define MAXSEG_64K
-#endif
-#ifdef MSDOS
-#  define UNALIGNED_OK
-#endif
-
-#ifdef __STDC_VERSION__
-#  ifndef STDC
-#    define STDC
-#  endif
-#  if __STDC_VERSION__ >= 199901L
-#    ifndef STDC99
-#      define STDC99
-#    endif
-#  endif
-#endif
-#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
-#  define STDC
-#endif
-#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
-#  define STDC
-#endif
-#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
-#  define STDC
-#endif
-#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
-#  define STDC
-#endif
-
-#if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
-#  define STDC
-#endif
-
-#ifndef STDC
-#  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
-#    define const       /* note: need a more gentle solution here */
-#  endif
-#endif
-
-/* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
-#  define NO_DUMMY_DECL
-#endif
-
-/* Maximum value for memLevel in deflateInit2 */
-#ifndef MAX_MEM_LEVEL
-#  ifdef MAXSEG_64K
-#    define MAX_MEM_LEVEL 8
-#  else
-#    define MAX_MEM_LEVEL 9
-#  endif
-#endif
-
-/* Maximum value for windowBits in deflateInit2 and inflateInit2.
- * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
- * created by gzip. (Files created by minigzip can still be extracted by
- * gzip.)
- */
-#ifndef MAX_WBITS
-#  define MAX_WBITS   15 /* 32K LZ77 window */
-#endif
-
-/* The memory requirements for deflate are (in bytes):
-            (1 << (windowBits+2)) +  (1 << (memLevel+9))
- that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
- plus a few kilobytes for small objects. For example, if you want to reduce
- the default memory requirements from 256K to 128K, compile with
-     make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
- Of course this will generally degrade compression (there's no free lunch).
-
-   The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
- for small objects.
-*/
-
-                        /* Type declarations */
-
-#ifndef OF /* function prototypes */
-#  ifdef STDC
-#    define OF(args)  args
-#  else
-#    define OF(args)  ()
-#  endif
-#endif
-
-/* The following definitions for FAR are needed only for MSDOS mixed
- * model programming (small or medium model with some far allocations).
- * This was tested only with MSC; for other MSDOS compilers you may have
- * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
- * just define FAR to be empty.
- */
-#ifdef SYS16BIT
-#  if defined(M_I86SM) || defined(M_I86MM)
-     /* MSC small or medium model */
-#    define SMALL_MEDIUM
-#    ifdef _MSC_VER
-#      define FAR _far
-#    else
-#      define FAR far
-#    endif
-#  endif
-#  if (defined(__SMALL__) || defined(__MEDIUM__))
-     /* Turbo C small or medium model */
-#    define SMALL_MEDIUM
-#    ifdef __BORLANDC__
-#      define FAR _far
-#    else
-#      define FAR far
-#    endif
-#  endif
-#endif
-
-#if defined(WINDOWS) || defined(WIN32)
-   /* If building or using zlib as a DLL, define ZLIB_DLL.
-    * This is not mandatory, but it offers a little performance increase.
-    */
-#  ifdef ZLIB_DLL
-#    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
-#      ifdef ZLIB_INTERNAL
-#        define ZEXTERN extern __declspec(dllexport)
-#      else
-#        define ZEXTERN extern __declspec(dllimport)
-#      endif
-#    endif
-#  endif  /* ZLIB_DLL */
-   /* If building or using zlib with the WINAPI/WINAPIV calling convention,
-    * define ZLIB_WINAPI.
-    * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
-    */
-#  ifdef ZLIB_WINAPI
-#    ifdef FAR
-#      undef FAR
-#    endif
-#    include <windows.h>
-     /* No need for _export, use ZLIB.DEF instead. */
-     /* For complete Windows compatibility, use WINAPI, not __stdcall. */
-#    define ZEXPORT WINAPI
-#    ifdef WIN32
-#      define ZEXPORTVA WINAPIV
-#    else
-#      define ZEXPORTVA FAR CDECL
-#    endif
-#  endif
-#endif
-
-#if defined (__BEOS__)
-#  ifdef ZLIB_DLL
-#    ifdef ZLIB_INTERNAL
-#      define ZEXPORT   __declspec(dllexport)
-#      define ZEXPORTVA __declspec(dllexport)
-#    else
-#      define ZEXPORT   __declspec(dllimport)
-#      define ZEXPORTVA __declspec(dllimport)
-#    endif
-#  endif
-#endif
-
-#ifndef ZEXTERN
-#  define ZEXTERN extern
-#endif
-#ifndef ZEXPORT
-#  define ZEXPORT
-#endif
-#ifndef ZEXPORTVA
-#  define ZEXPORTVA
-#endif
-
-#ifndef FAR
-#  define FAR
-#endif
-
-#if !defined(__MACTYPES__)
-typedef unsigned char  Byte;  /* 8 bits */
-#endif
-typedef unsigned int   uInt;  /* 16 bits or more */
-typedef unsigned long  uLong; /* 32 bits or more */
-
-#ifdef SMALL_MEDIUM
-   /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
-#  define Bytef Byte FAR
-#else
-   typedef Byte  FAR Bytef;
-#endif
-typedef char  FAR charf;
-typedef int   FAR intf;
-typedef uInt  FAR uIntf;
-typedef uLong FAR uLongf;
-
-#ifdef STDC
-   typedef void const *voidpc;
-   typedef void FAR   *voidpf;
-   typedef void       *voidp;
-#else
-   typedef Byte const *voidpc;
-   typedef Byte FAR   *voidpf;
-   typedef Byte       *voidp;
-#endif
-
-#if 0           /* HAVE_UNISTD_H -- this line is updated by ./configure */
-#  include <sys/types.h> /* for off_t */
-#  include <unistd.h>    /* for SEEK_* and off_t */
-#  ifdef VMS
-#    include <unixio.h>   /* for off_t */
-#  endif
-#  define z_off_t off_t
-#endif
-#ifndef SEEK_SET
-#  define SEEK_SET        0       /* Seek from beginning of file.  */
-#  define SEEK_CUR        1       /* Seek from current position.  */
-#  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
-#endif
-#ifndef z_off_t
-#  define z_off_t long
-#endif
-
-#if defined(__OS400__)
-#  define NO_vsnprintf
-#endif
-
-#if defined(__MVS__)
-#  define NO_vsnprintf
-#  ifdef FAR
-#    undef FAR
-#  endif
-#endif
-
-/* MVS linker does not support external names larger than 8 bytes */
-#if defined(__MVS__)
-#   pragma map(deflateInit_,"DEIN")
-#   pragma map(deflateInit2_,"DEIN2")
-#   pragma map(deflateEnd,"DEEND")
-#   pragma map(deflateBound,"DEBND")
-#   pragma map(inflateInit_,"ININ")
-#   pragma map(inflateInit2_,"ININ2")
-#   pragma map(inflateEnd,"INEND")
-#   pragma map(inflateSync,"INSY")
-#   pragma map(inflateSetDictionary,"INSEDI")
-#   pragma map(compressBound,"CMBND")
-#   pragma map(inflate_table,"INTABL")
-#   pragma map(inflate_fast,"INFA")
-#   pragma map(inflate_copyright,"INCOPY")
-#endif
-
-#endif /* ZCONF_H */
diff --git a/contrib/minizip/zip.c b/contrib/minizip/zip.c
index e12da4c..698dcec 100644
--- a/contrib/minizip/zip.c
+++ b/contrib/minizip/zip.c
@@ -73,7 +73,7 @@
 
 
 // NOT sure that this work on ALL platform
-#define MAKEULONG64(a, b) ((ZPOS64_T)(((unsigned long)(a)) | ((ZPOS64_T)((unsigned long)(b))) << 32)) 
+#define MAKEULONG64(a, b) ((ZPOS64_T)(((unsigned long)(a)) | ((ZPOS64_T)((unsigned long)(b))) << 32))
 
 #ifndef SEEK_CUR
 #define SEEK_CUR    1
@@ -759,7 +759,7 @@
     number_entry_CD = 0;
     if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK)
       err=ZIP_ERRNO;
-    else 
+    else
       number_entry_CD = uL;
 
     if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0))
@@ -1021,7 +1021,7 @@
       err = ZIP_ERRNO;
   }
 
-  
+
   if ((err==ZIP_OK) && (zi->ci.zip64))
   {
       // write the Zip64 extended info
@@ -1035,7 +1035,7 @@
 
       err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)HeaderID,2);
       err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)DataSize,2);
-      
+
       err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)UncompressedSize,8);
       err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)CompressedSize,8);
   }
@@ -1044,11 +1044,11 @@
 }
 
 /*
- NOTE. 
+ NOTE.
  When writing RAW the ZIP64 extended information in extrafield_local and extrafield_global needs to be stripped
  before calling this function it can be done with zipRemoveExtraInfoBlock
 
- It is not done here because then we need to realloc a new buffer since parameters are 'const' and I want to minimize 
+ It is not done here because then we need to realloc a new buffer since parameters are 'const' and I want to minimize
  unnecessary allocations.
  */
 extern int ZEXPORT zipOpenNewFileInZip4_64 (zipFile file, const char* filename, const zip_fileinfo* zipfi,
@@ -1106,7 +1106,7 @@
     {
         if (zipfi->dosDate != 0)
             zi->ci.dosDate = zipfi->dosDate;
-        else 
+        else
           zi->ci.dosDate = zip64local_TmzDateToDosDate(&zipfi->tmz_date);
     }
 
@@ -1305,7 +1305,7 @@
                                  windowBits, memLevel, strategy,
                                  password, crcForCrypting, VERSIONMADEBY, 0, zip64);
 }
-                                         
+
 extern int ZEXPORT zipOpenNewFileInZip2(zipFile file, const char* filename, const zip_fileinfo* zipfi,
                                         const void* extrafield_local, uInt size_extrafield_local,
                                         const void* extrafield_global, uInt size_extrafield_global,
@@ -1393,7 +1393,7 @@
 
 
     zi->ci.pos_in_buffered_data = 0;
-    
+
     return err;
 }
 
@@ -1581,7 +1581,7 @@
     if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw))
     {
         int tmp_err = deflateEnd(&zi->ci.stream);
-        if (err == ZIP_OK) 
+        if (err == ZIP_OK)
             err = tmp_err;
         zi->ci.stream_initialised = 0;
     }
@@ -1589,7 +1589,7 @@
     else if((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw))
     {
       int tmperr = BZ2_bzCompressEnd(&zi->ci.bstream);
-			if (err==ZIP_OK) 
+			if (err==ZIP_OK)
 				err = tmperr;
 			zi->ci.stream_initialised = 0;
     }
@@ -1662,7 +1662,7 @@
       p += 2;
       zip64local_putValue_inmemory(p, datasize, 2); // DataSize
       p += 2;
-      
+
       if(uncompressed_size >= 0xffffffff)
       {
         zip64local_putValue_inmemory(p, uncompressed_size, 8);
@@ -1680,7 +1680,7 @@
         zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8);
         p += 8;
       }
-      
+
       // Update how much extra free space we got in the memory buffer
       // and increase the centralheader size so the new ZIP64 fields are included
       // ( 4 below is the size of HeaderID and DataSize field )
@@ -1691,7 +1691,7 @@
       zi->ci.size_centralExtra += datasize + 4;
       zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)zi->ci.size_centralExtra,2);
     }
-    
+
     if (err==ZIP_OK)
         err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader);
 
@@ -1752,9 +1752,9 @@
 {
   int err = ZIP_OK;
   ZPOS64_T pos = zip64eocd_pos_inzip - zi->add_position_when_writting_offset;
-  
+
   err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDLOCHEADERMAGIC,4);
-  
+
   /*num disks*/
     if (err==ZIP_OK) /* number of the disk with the start of the central directory */
       err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4);
@@ -1807,12 +1807,12 @@
     ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset;
     err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (ZPOS64_T)pos,8);
   }
-  return err;  
+  return err;
 }
 int Write_EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip)
 {
   int err = ZIP_OK;
-  
+
   /*signature*/
   err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4);
 
@@ -1861,7 +1861,7 @@
 {
   int err = ZIP_OK;
   uInt size_global_comment = 0;
-  
+
   if(global_comment != NULL)
     size_global_comment = (uInt)strlen(global_comment);
 
@@ -1897,7 +1897,7 @@
     if (global_comment==NULL)
         global_comment = zi->globalcomment;
 #endif
-  
+
     centraldir_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream);
 
     if (err==ZIP_OK)
@@ -1922,7 +1922,7 @@
     {
       ZPOS64_T Zip64EOCDpos = ZTELL64(zi->z_filefunc,zi->filestream);
       Write_Zip64EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip);
-      
+
       Write_Zip64EndOfCentralDirectoryLocator(zi, Zip64EOCDpos);
     }
 
@@ -1977,7 +1977,7 @@
       p += dataSize + 4;
       size += dataSize + 4;
     }
-        
+
   }
 
   if(size < *dataLen)
diff --git a/contrib/minizip/zip.h b/contrib/minizip/zip.h
index a33a52d..5e3a46c 100644
--- a/contrib/minizip/zip.h
+++ b/contrib/minizip/zip.h
@@ -31,7 +31,7 @@
 
 	---------------------------------------------------------------------------
 
-	Changes 
+	Changes
 
 	See header of zip.h
 
@@ -338,13 +338,13 @@
 
 
 extern int ZEXPORT zipRemoveExtraInfoBlock OF((char* pData, int* dataLen, short sHeader));
-/* 
-  zipRemoveExtraInfoBlock -  Added by Mathias Svensson 
-  
+/*
+  zipRemoveExtraInfoBlock -  Added by Mathias Svensson
+
   Remove extra information block from a extra information data for the local file header or central directory header
 
   It is needed to remove ZIP64 extra information blocks when before data is written if using RAW mode.
-  
+
   0x0001 is the signature header for the ZIP64 extra information blocks
 
   usage.
diff --git a/contrib/puff/puff b/contrib/puff/puff
deleted file mode 100755
index bedac26..0000000
--- a/contrib/puff/puff
+++ /dev/null
Binary files differ
diff --git a/contrib/testzlib/testzlib.c b/contrib/testzlib/testzlib.c
index e5574f4..135888e 100644
--- a/contrib/testzlib/testzlib.c
+++ b/contrib/testzlib/testzlib.c
@@ -103,12 +103,12 @@
         MyDoMinus64(&ticks,endTime64,beginTime64);

         QueryPerformanceFrequency(&ticksPerSecond);

 

-    

+

         {

             ticksShifted = Int64ShrlMod32(*(DWORDLONG*)&ticks,dwLog);

             tickSecShifted = Int64ShrlMod32(*(DWORDLONG*)&ticksPerSecond,dwLog);

-        

-        } 

+

+        }

 

         dwRet = (DWORD)((((DWORD)ticksShifted)*1000)/(DWORD)(tickSecShifted));

         dwRet *=1;

diff --git a/contrib/vstudio/readme.txt b/contrib/vstudio/readme.txt
index 16159f9..416fc49 100644
--- a/contrib/vstudio/readme.txt
+++ b/contrib/vstudio/readme.txt
@@ -30,9 +30,9 @@
 

 Build instructions for Visual Studio 2005 64 bits, PSDK compiler

 ----------------------------------------------------------------

-at the time of writing this text file, Visual Studio 2005 (and 

+at the time of writing this text file, Visual Studio 2005 (and

   Microsoft Visual C++ 8.0) is on the beta 2 stage.

-Using you can get the free 64 bits compiler from Platform SDK, 

+Using you can get the free 64 bits compiler from Platform SDK,

   which is NOT a beta, and compile using the Visual studio 2005 IDE

 see http://www.winimage.com/misc/sdk64onvs2005/ for instruction

 

diff --git a/contrib/vstudio/vc7/zlib.rc b/contrib/vstudio/vc7/zlib.rc
index 68cb9cb..266fb83 100644
--- a/contrib/vstudio/vc7/zlib.rc
+++ b/contrib/vstudio/vc7/zlib.rc
@@ -2,8 +2,8 @@
 

 #define IDR_VERSION1  1

 IDR_VERSION1	VERSIONINFO	MOVEABLE IMPURE LOADONCALL DISCARDABLE

-  FILEVERSION	 1,2,3,7

-  PRODUCTVERSION 1,2,3,7

+  FILEVERSION	 1,2,3,8

+  PRODUCTVERSION 1,2,3,8

   FILEFLAGSMASK	VS_FFI_FILEFLAGSMASK

   FILEFLAGS	0

   FILEOS	VOS_DOS_WINDOWS32

@@ -17,7 +17,7 @@
 

     BEGIN

       VALUE "FileDescription", "zlib data compression library\0"

-      VALUE "FileVersion",	"1.2.3.7\0"

+      VALUE "FileVersion",	"1.2.3.8\0"

       VALUE "InternalName",	"zlib\0"

       VALUE "OriginalFilename",	"zlib.dll\0"

       VALUE "ProductName",	"ZLib.DLL\0"

diff --git a/deflate.c b/deflate.c
index 990fe02..55ebbbf 100644
--- a/deflate.c
+++ b/deflate.c
@@ -52,7 +52,7 @@
 #include "deflate.h"
 
 const char deflate_copyright[] =
-   " deflate 1.2.3.7 Copyright 1995-2010 Jean-loup Gailly and Mark Adler ";
+   " deflate 1.2.3.8 Copyright 1995-2010 Jean-loup Gailly and Mark Adler ";
 /*
   If you use the zlib library in a product, an acknowledgment is welcome
   in the documentation of your product. If for some reason you cannot
diff --git a/examples/enough.c b/examples/enough.c
index b570707..c40410b 100644
--- a/examples/enough.c
+++ b/examples/enough.c
@@ -141,7 +141,7 @@
    For the deflate example of 286 symbols limited to 15-bit codes, the array
    has 284,284 entries, taking up 2.17 MB for an 8-byte big_t.  More than
    half of the space allocated for saved results is actually used -- not all
-   possible triplets are reached in the generation of valid Huffman codes.  
+   possible triplets are reached in the generation of valid Huffman codes.
  */
 
 /* The array for tracking visited states, done[], is itself indexed identically
@@ -466,19 +466,19 @@
 
     /* get arguments -- default to the deflate literal/length code */
     syms = 286;
-	root = 9;
+        root = 9;
     max = 15;
     if (argc > 1) {
         syms = atoi(argv[1]);
         if (argc > 2) {
             root = atoi(argv[2]);
-			if (argc > 3)
-				max = atoi(argv[3]);
-		}
+                        if (argc > 3)
+                                max = atoi(argv[3]);
+                }
     }
     if (argc > 4 || syms < 2 || root < 1 || max < 1) {
         fputs("invalid arguments, need: [sym >= 2 [root >= 1 [max >= 1]]]\n",
-			  stderr);
+                          stderr);
         return 1;
     }
 
@@ -556,8 +556,8 @@
     }
 
     /* find and show maximum inflate table usage */
-	if (root > max)                 /* reduce root to max length */
-		root = max;
+        if (root > max)                 /* reduce root to max length */
+                root = max;
     if (syms < ((code_t)1 << (root + 1)))
         enough(syms);
     else
diff --git a/examples/gzlog.c b/examples/gzlog.c
index 4daf1c2..d70aaca 100644
--- a/examples/gzlog.c
+++ b/examples/gzlog.c
@@ -62,7 +62,7 @@
    compressed data, and contains both the crc and length of just the compressed
    data and of the complete set of data including the contents of the foo.add
    file.
-   
+
    Again, the foo.add file is maintained during the compress operation in case
    of an interruption.  If in the unlikely event the foo.add file with the data
    to be compressed is missing due to some external force, a gzip file with
diff --git a/gzguts.h b/gzguts.h
index 26791b0..84a9797 100644
--- a/gzguts.h
+++ b/gzguts.h
@@ -19,6 +19,7 @@
 #ifdef STDC
 #  include <string.h>
 #  include <stdlib.h>
+#  include <limits.h>
 #endif
 #include <fcntl.h>
 
@@ -119,3 +120,13 @@
 #if defined UNDER_CE && defined NO_ERRNO_H
 ZEXTERN char ZEXPORT *gz_strwinerror OF((DWORD error));
 #endif
+
+/* GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t
+   value -- needed when comparing unsigned to z_off64_t, which is signed
+   (possible z_off64_t types off_t, off64_t, and long are all signed) */
+#ifdef INT_MAX
+#  define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > INT_MAX)
+#else
+ZEXTERN unsigned ZEXPORT gz_intmax OF((void));
+#  define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax())
+#endif
diff --git a/gzio.c b/gzio.c
index 72b6287..38b3c03 100644
--- a/gzio.c
+++ b/gzio.c
@@ -61,13 +61,13 @@
     wchar_t *msgbuf;
     DWORD lasterr = GetLastError();
     DWORD chars = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM
-	| FORMAT_MESSAGE_ALLOCATE_BUFFER,
-	NULL,
-	error,
-	0, /* Default language */
-	(LPVOID)&msgbuf,
-	0,
-	NULL);
+        | FORMAT_MESSAGE_ALLOCATE_BUFFER,
+        NULL,
+        error,
+        0, /* Default language */
+        (LPVOID)&msgbuf,
+        0,
+        NULL);
     if (chars != 0) {
         /* If there is an \r\n appended, zap it.  */
         if (chars >= 2
diff --git a/gzlib.c b/gzlib.c
index e637e83..fec283f 100644
--- a/gzlib.c
+++ b/gzlib.c
@@ -36,13 +36,13 @@
     wchar_t *msgbuf;
     DWORD lasterr = GetLastError();
     DWORD chars = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM
-	| FORMAT_MESSAGE_ALLOCATE_BUFFER,
-	NULL,
-	error,
-	0, /* Default language */
-	(LPVOID)&msgbuf,
-	0,
-	NULL);
+        | FORMAT_MESSAGE_ALLOCATE_BUFFER,
+        NULL,
+        error,
+        0, /* Default language */
+        (LPVOID)&msgbuf,
+        0,
+        NULL);
     if (chars != 0) {
         /* If there is an \r\n appended, zap it.  */
         if (chars >= 2
@@ -330,7 +330,8 @@
 
     /* if reading, skip what's in output buffer (one less gzgetc() check) */
     if (state->mode == GZ_READ) {
-        n = state->have > offset ? (unsigned)offset : state->have;
+        n = GT_OFF(state->have) || (z_off64_t)state->have > offset ?
+            (unsigned)offset : state->have;
         state->have -= n;
         state->next += n;
         state->pos += n;
@@ -513,4 +514,23 @@
     return;
 }
 
+#ifndef INT_MAX
+/* portably return maximum value for an int (when limits.h presumed not
+   available) -- we need to do this to cover cases where 2's complement not
+   used, since C standard permits 1's complement and sign-bit representations,
+   otherwise we could just use ((unsigned)-1) >> 1 */
+unsigned ZEXPORT gz_intmax()
+{
+    unsigned p, q;
+
+    p = 1;
+    do {
+        q = p;
+        p <<= 1;
+        p++;
+    } while (p > q);
+    return q >> 1;
+}
+#endif
+
 #endif /* !OLD_GZIO */
diff --git a/gzread.c b/gzread.c
index 74322ca..a560c16 100644
--- a/gzread.c
+++ b/gzread.c
@@ -14,7 +14,7 @@
 local int gz_head OF((gz_statep));
 local int gz_decomp OF((gz_statep));
 local int gz_make OF((gz_statep));
-local int gz_skip OF((gz_statep, z_off_t));
+local int gz_skip OF((gz_statep, z_off64_t));
 
 /* Use read() to load a buffer -- return -1 on error, otherwise 0.  Read from
    state->fd, and update state->eof, state->err, and state->msg as appropriate.
@@ -330,7 +330,7 @@
 /* Skip len uncompressed bytes of output.  Return -1 on error, 0 on success. */
 local int gz_skip(state, len)
     gz_statep state;
-    z_off_t len;
+    z_off64_t len;
 {
     unsigned n;
 
@@ -338,7 +338,8 @@
     while (len)
         /* skip over whatever is in output buffer */
         if (state->have) {
-            n = state->have > len ? (unsigned)len : state->have;
+            n = GT_OFF(state->have) || (z_off64_t)state->have > len ?
+                (unsigned)len : state->have;
             state->have -= n;
             state->next += n;
             state->pos += n;
diff --git a/gzwrite.c b/gzwrite.c
index f4a0a80..50b1a7c 100644
--- a/gzwrite.c
+++ b/gzwrite.c
@@ -10,7 +10,7 @@
 /* Local functions */
 local int gz_init OF((gz_statep));
 local int gz_comp OF((gz_statep, int));
-local int gz_zero OF((gz_statep, z_off_t));
+local int gz_zero OF((gz_statep, z_off64_t));
 
 /* Initialize state for writing a gzip file.  Mark initialization by setting
    state->size to non-zero.  Return -1 on failure or 0 on success. */
@@ -62,7 +62,7 @@
     gz_statep state;
     int flush;
 {
-    int ret;
+    int ret, got;
     unsigned have;
     z_streamp strm = &(state->strm);
 
@@ -78,7 +78,8 @@
         if (strm->avail_out == 0 || (flush != Z_NO_FLUSH &&
             (flush != Z_FINISH || ret == Z_STREAM_END))) {
             have = strm->next_out - state->next;
-            if (have && write(state->fd, state->next, have) != have) {
+            if (have && ((got = write(state->fd, state->next, have)) < 0 ||
+                         (unsigned)got != have)) {
                 gz_error(state, Z_ERRNO, zstrerror());
                 return -1;
             }
@@ -111,7 +112,7 @@
 /* Compress len zeros to output.  Return -1 on error, 0 on success. */
 local int gz_zero(state, len)
     gz_statep state;
-    z_off_t len;
+    z_off64_t len;
 {
     int first;
     unsigned n;
@@ -121,10 +122,11 @@
     if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1)
         return -1;
 
-    /* compress len zeros */
+    /* compress len zeros (len guaranteed > 0) */
     first = 1;
     while (len) {
-        n = len < state->size ? (unsigned)len : state->size;
+        n = GT_OFF(state->size) || (z_off64_t)state->size > len ?
+            (unsigned)len : state->size;
         if (first) {
             memset(state->in, 0, n);
             first = 0;
@@ -435,7 +437,8 @@
     state = (gz_statep)file;
 
     /* check that we're writing and that there's no error */
-    if (state->mode != GZ_WRITE|| state->err != Z_OK)
+    if (state->mode != GZ_WRITE || state->err != Z_OK)
+        return Z_STREAM_ERROR;
 
     /* check flush parameter */
     if (flush < 0 || flush > Z_FINISH)
diff --git a/inftrees.c b/inftrees.c
index d24b8d4..5a6ef81 100644
--- a/inftrees.c
+++ b/inftrees.c
@@ -9,7 +9,7 @@
 #define MAXBITS 15
 
 const char inflate_copyright[] =
-   " inflate 1.2.3.7 Copyright 1995-2010 Mark Adler ";
+   " inflate 1.2.3.8 Copyright 1995-2010 Mark Adler ";
 /*
   If you use the zlib library in a product, an acknowledgment is welcome
   in the documentation of your product. If for some reason you cannot
@@ -62,7 +62,7 @@
         35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
     static const unsigned short lext[31] = { /* Length codes 257..285 extra */
         16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
-        19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 193};
+        19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 78, 75};
     static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
         1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
         257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
diff --git a/make_vms.com b/make_vms.com
index 8e5b7b5..c7c309e 100644
--- a/make_vms.com
+++ b/make_vms.com
@@ -42,7 +42,7 @@
 $ conf_check_string = ""
 $ linkonly = false
 $ optfile  = name + ".opt"
-$ libdefs  = "" 
+$ libdefs  = ""
 $ axp      = f$getsyi("HW_MODEL").ge.1024 .and. f$getsyi("HW_MODEL").lt.4096
 $!
 $ whoami = f$parse(f$enviornment("Procedure"),,,,"NO_CONCEAL")
@@ -87,7 +87,7 @@
 $    if f$trnlnm("SYS").eqs."" then define sys sys$library:
 $ endif
 $!
-$! Build a fake configure input header 
+$! Build a fake configure input header
 $!
 $ open/write conf_hin config.hin
 $ write conf_hin "#undef _LARGEFILE64_SOURCE"
@@ -99,7 +99,7 @@
 $ fname = f$element(i,"#",aconf_in_file)
 $ if fname .eqs. "#" then goto AMISS_ERR
 $ if f$search(fname) .eqs. ""
-$ then 
+$ then
 $   i = i + 1
 $   goto find_aconf
 $ endif
@@ -396,7 +396,7 @@
 # written by Martin P.J. Zinser
 # <zinser@zinser.no-ip.info or zinser@sysdev.deutsche-boerse.com>
 
-OBJS = adler32.obj, compress.obj, crc32.obj, gzclose.obj, gzio.obj, gzlib.obj\ 
+OBJS = adler32.obj, compress.obj, crc32.obj, gzclose.obj, gzio.obj, gzlib.obj\
        gzread.obj, gzwrite.obj, uncompr.obj, infback.obj\
        deflate.obj, trees.obj, zutil.obj, inflate.obj, \
        inftrees.obj, inffast.obj
@@ -521,7 +521,7 @@
 $   if (f$type('cdef') .eqs. "INTEGER")
 $   then
 $     write aconf "#define ''cdef' ", 'cdef'
-$   else 
+$   else
 $     if (f$type('cdef') .eqs. "STRING")
 $     then
 $       write aconf "#define ''cdef' ", """", '''cdef'', """"
@@ -587,7 +587,7 @@
 $ on error then goto err_exit
 $ delete/nolog 'tmpnam'.*;*/exclude='th'
 $ if (cc_prop .and. .not. is_need) .or. -
-     (.not. cc_prop .and. is_need) 
+     (.not. cc_prop .and. is_need)
 $ then
 $   write sys$output "Checking for ''cdef'... yes"
 $   if f$type('cdef_val'_yes) .nes. ""
@@ -599,10 +599,10 @@
 $   else
 $     call write_config f$fao("#define !AS 1",cdef)
 $   endif
-$   if (cdef .eqs. "HAVE_FSEEKO") .or. (cdef .eqs. "_LARGE_FILES") .or. - 
-       (cdef .eqs. "_LARGEFILE64_SOURCE") then - 
+$   if (cdef .eqs. "HAVE_FSEEKO") .or. (cdef .eqs. "_LARGE_FILES") .or. -
+       (cdef .eqs. "_LARGEFILE64_SOURCE") then -
       call write_config f$string("#define _LARGEFILE 1")
-$ else 
+$ else
 $   write sys$output "Checking for ''cdef'... no"
 $   if (comm_h)
 $   then
@@ -645,7 +645,7 @@
 $   set message/fac/ident/sever/text
 $   on error then goto err_exit
 $   delete/nolog 'tmpnam'_'i'.*;*
-$   if (cc_prop) 
+$   if (cc_prop)
 $   then
 $     write sys$output "Checking for ''cdef'... ", mdef_'i'
 $     if f$type(mdef_'i') .eqs. "INTEGER" -
@@ -670,7 +670,7 @@
 $ return
 $!------------------------------------------------------------------------------
 $!
-$! Analyze Object files for OpenVMS AXP to extract Procedure and Data 
+$! Analyze Object files for OpenVMS AXP to extract Procedure and Data
 $! information to build a symbol vector for a shareable image
 $! All the "brains" of this logic was suggested by Hartmut Becker
 $! (Hartmut.Becker@compaq.com). All the bugs were introduced by me
@@ -683,10 +683,10 @@
 $! 0.03 20050107 Skip over Identification labels in option file
 $! 0.04 20060117 Add uppercase alias to code compiled with /name=as_is
 $!
-$ ANAL_OBJ_AXP: Subroutine   
+$ ANAL_OBJ_AXP: Subroutine
 $ V = 'F$Verify(0)
 $ SAY := "WRITE_ SYS$OUTPUT"
-$ 
+$
 $ IF F$SEARCH("''P1'") .EQS. ""
 $ THEN
 $    SAY "ANAL_OBJ_AXP-E-NOSUCHFILE:  Error, inputfile ''p1' not available"
@@ -765,15 +765,15 @@
 $ then
 $     name = f$element(1,"=",raw_element) - "("
 $     if f$edit(name,"UPCASE") .nes. name then -
-          write case_vector f$fao(" symbol_vector=(!AS/!AS=PROCEDURE)", - 
-	                          f$edit(name,"UPCASE"), name) 
+          write case_vector f$fao(" symbol_vector=(!AS/!AS=PROCEDURE)", -
+	                          f$edit(name,"UPCASE"), name)
 $ endif
 $ if f$locate("=DATA)",raw_element) .lt. f$length(raw_element)
 $ then
 $     name = f$element(1,"=",raw_element) - "("
 $     if f$edit(name,"UPCASE") .nes. name then -
-          write case_vector f$fao(" symbol_vector=(!AS/!AS=DATA)", - 
-	                          f$edit(name,"UPCASE"), name) 
+          write case_vector f$fao(" symbol_vector=(!AS/!AS=DATA)", -
+	                          f$edit(name,"UPCASE"), name)
 $ endif
 $ goto rawloop
 $ END_RAWLOOP:
@@ -785,7 +785,7 @@
 $!
 $ EXIT_AA:
 $ if V then set verify
-$ endsubroutine 
+$ endsubroutine
 $!------------------------------------------------------------------------------
 $!
 $! Write configuration to both permanent and temporary config file
diff --git a/minigzip.c b/minigzip.c
index e74d672..9d18266 100644
--- a/minigzip.c
+++ b/minigzip.c
@@ -76,13 +76,13 @@
     wchar_t *msgbuf;
     DWORD lasterr = GetLastError();
     DWORD chars = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM
-	| FORMAT_MESSAGE_ALLOCATE_BUFFER,
-	NULL,
-	error,
-	0, /* Default language */
-	(LPVOID)&msgbuf,
-	0,
-	NULL);
+        | FORMAT_MESSAGE_ALLOCATE_BUFFER,
+        NULL,
+        error,
+        0, /* Default language */
+        (LPVOID)&msgbuf,
+        0,
+        NULL);
     if (chars != 0) {
         /* If there is an \r\n appended, zap it.  */
         if (chars >= 2
diff --git a/projects/visualc6/example.dsp b/projects/visualc6/example.dsp
index f713efd..d358052 100644
--- a/projects/visualc6/example.dsp
+++ b/projects/visualc6/example.dsp
@@ -7,16 +7,16 @@
 CFG=example - Win32 LIB Debug

 !MESSAGE This is not a valid makefile. To build this project using NMAKE,

 !MESSAGE use the Export Makefile command and run

-!MESSAGE 

+!MESSAGE

 !MESSAGE NMAKE /f "example.mak".

-!MESSAGE 

+!MESSAGE

 !MESSAGE You can specify a configuration when running NMAKE

 !MESSAGE by defining the macro CFG on the command line. For example:

-!MESSAGE 

+!MESSAGE

 !MESSAGE NMAKE /f "example.mak" CFG="example - Win32 LIB Debug"

-!MESSAGE 

+!MESSAGE

 !MESSAGE Possible choices for configuration are:

-!MESSAGE 

+!MESSAGE

 !MESSAGE "example - Win32 DLL ASM Release" (based on "Win32 (x86) Console Application")

 !MESSAGE "example - Win32 DLL ASM Debug" (based on "Win32 (x86) Console Application")

 !MESSAGE "example - Win32 DLL Release" (based on "Win32 (x86) Console Application")

@@ -25,7 +25,7 @@
 !MESSAGE "example - Win32 LIB ASM Debug" (based on "Win32 (x86) Console Application")

 !MESSAGE "example - Win32 LIB Release" (based on "Win32 (x86) Console Application")

 !MESSAGE "example - Win32 LIB Debug" (based on "Win32 (x86) Console Application")

-!MESSAGE 

+!MESSAGE

 

 # Begin Project

 # PROP AllowPerConfigDependencies 0

@@ -242,7 +242,7 @@
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept

 # ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept

 

-!ENDIF 

+!ENDIF

 

 # Begin Target

 

diff --git a/projects/visualc6/minigzip.dsp b/projects/visualc6/minigzip.dsp
index c50b488..7103468 100644
--- a/projects/visualc6/minigzip.dsp
+++ b/projects/visualc6/minigzip.dsp
@@ -7,16 +7,16 @@
 CFG=minigzip - Win32 LIB Debug

 !MESSAGE This is not a valid makefile. To build this project using NMAKE,

 !MESSAGE use the Export Makefile command and run

-!MESSAGE 

+!MESSAGE

 !MESSAGE NMAKE /f "minigzip.mak".

-!MESSAGE 

+!MESSAGE

 !MESSAGE You can specify a configuration when running NMAKE

 !MESSAGE by defining the macro CFG on the command line. For example:

-!MESSAGE 

+!MESSAGE

 !MESSAGE NMAKE /f "minigzip.mak" CFG="minigzip - Win32 LIB Debug"

-!MESSAGE 

+!MESSAGE

 !MESSAGE Possible choices for configuration are:

-!MESSAGE 

+!MESSAGE

 !MESSAGE "minigzip - Win32 DLL ASM Release" (based on "Win32 (x86) Console Application")

 !MESSAGE "minigzip - Win32 DLL ASM Debug" (based on "Win32 (x86) Console Application")

 !MESSAGE "minigzip - Win32 DLL Release" (based on "Win32 (x86) Console Application")

@@ -25,7 +25,7 @@
 !MESSAGE "minigzip - Win32 LIB ASM Debug" (based on "Win32 (x86) Console Application")

 !MESSAGE "minigzip - Win32 LIB Release" (based on "Win32 (x86) Console Application")

 !MESSAGE "minigzip - Win32 LIB Debug" (based on "Win32 (x86) Console Application")

-!MESSAGE 

+!MESSAGE

 

 # Begin Project

 # PROP AllowPerConfigDependencies 0

@@ -242,7 +242,7 @@
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept

 # ADD LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept

 

-!ENDIF 

+!ENDIF

 

 # Begin Target

 

diff --git a/projects/visualc6/zlib.dsp b/projects/visualc6/zlib.dsp
index 3e98f3d..d8b3dff 100644
--- a/projects/visualc6/zlib.dsp
+++ b/projects/visualc6/zlib.dsp
@@ -8,16 +8,16 @@
 CFG=zlib - Win32 LIB Debug

 !MESSAGE This is not a valid makefile. To build this project using NMAKE,

 !MESSAGE use the Export Makefile command and run

-!MESSAGE 

+!MESSAGE

 !MESSAGE NMAKE /f "zlib.mak".

-!MESSAGE 

+!MESSAGE

 !MESSAGE You can specify a configuration when running NMAKE

 !MESSAGE by defining the macro CFG on the command line. For example:

-!MESSAGE 

+!MESSAGE

 !MESSAGE NMAKE /f "zlib.mak" CFG="zlib - Win32 LIB Debug"

-!MESSAGE 

+!MESSAGE

 !MESSAGE Possible choices for configuration are:

-!MESSAGE 

+!MESSAGE

 !MESSAGE "zlib - Win32 DLL ASM Release" (based on "Win32 (x86) Dynamic-Link Library")

 !MESSAGE "zlib - Win32 DLL ASM Debug" (based on "Win32 (x86) Dynamic-Link Library")

 !MESSAGE "zlib - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library")

@@ -26,7 +26,7 @@
 !MESSAGE "zlib - Win32 LIB ASM Debug" (based on "Win32 (x86) Static Library")

 !MESSAGE "zlib - Win32 LIB Release" (based on "Win32 (x86) Static Library")

 !MESSAGE "zlib - Win32 LIB Debug" (based on "Win32 (x86) Static Library")

-!MESSAGE 

+!MESSAGE

 

 # Begin Project

 # PROP AllowPerConfigDependencies 0

@@ -265,7 +265,7 @@
 # ADD BASE LIB32 /nologo

 # ADD LIB32 /nologo /out:"Win32_LIB_Debug\zlibd.lib"

 

-!ENDIF 

+!ENDIF

 

 # Begin Target

 

@@ -368,7 +368,7 @@
 

 # PROP Exclude_From_Build 1

 

-!ENDIF 

+!ENDIF

 

 # End Source File

 # Begin Source File

@@ -499,7 +499,7 @@
 

 # PROP Exclude_From_Build 1

 

-!ENDIF 

+!ENDIF

 

 # End Source File

 # Begin Source File

@@ -542,7 +542,7 @@
 # PROP Exclude_From_Build 1

 # ADD CPP /I "..\.."

 

-!ENDIF 

+!ENDIF

 

 # End Source File

 # Begin Source File

@@ -613,7 +613,7 @@
 

 # PROP Exclude_From_Build 1

 

-!ENDIF 

+!ENDIF

 

 # End Source File

 # End Group

diff --git a/qnx/package.qpg b/qnx/package.qpg
index 74bdb21..e805463 100644
--- a/qnx/package.qpg
+++ b/qnx/package.qpg
@@ -25,10 +25,10 @@
       <QPG:Files>
          <QPG:Add file="../zconf.h" install="/opt/include/" user="root:sys" permission="644"/>
          <QPG:Add file="../zlib.h" install="/opt/include/" user="root:sys" permission="644"/>
-         <QPG:Add file="../libz.so.1.2.3.7" install="/opt/lib/" user="root:bin" permission="644"/>
-         <QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.3.7"/>
+         <QPG:Add file="../libz.so.1.2.3.8" install="/opt/lib/" user="root:bin" permission="644"/>
+         <QPG:Add file="libz.so" install="/opt/lib/" component="dev" filetype="symlink" linkto="libz.so.1.2.3.8"/>
          <QPG:Add file="libz.so.1" install="/opt/lib/" filetype="symlink" linkto="libz.so.1.2.3.6"/>
-         <QPG:Add file="../libz.so.1.2.3.7" install="/opt/lib/" component="slib"/>
+         <QPG:Add file="../libz.so.1.2.3.8" install="/opt/lib/" component="slib"/>
       </QPG:Files>
 
       <QPG:PackageFilter>
@@ -63,7 +63,7 @@
             </QPM:ProductDescription>
 
             <QPM:ReleaseDescription>
-               <QPM:ReleaseVersion>1.2.3.7</QPM:ReleaseVersion>
+               <QPM:ReleaseVersion>1.2.3.8</QPM:ReleaseVersion>
                <QPM:ReleaseUrgency>Medium</QPM:ReleaseUrgency>
                <QPM:ReleaseStability>Stable</QPM:ReleaseStability>
                <QPM:ReleaseNoteMinor></QPM:ReleaseNoteMinor>
diff --git a/treebuild.xml b/treebuild.xml
index 387336e..3423e6b 100644
--- a/treebuild.xml
+++ b/treebuild.xml
@@ -3,7 +3,7 @@
     <library name="zlib" dlversion="1.2.3" dlname="z">
 	<property name="description"> zip compression library </property>
 	<property name="include-target-dir" value="$(@PACKAGE/install-includedir)" />
-	
+
 	<!-- fixme: not implemented yet -->
 	<property name="compiler/c/inline" value="yes" />
 
@@ -11,92 +11,92 @@
 	<include-file name="zconf.h" scope="public" mode="644" />
 
 	<source name="adler32.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
 	</source>
 	<source name="compress.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
 	</source>
 	<source name="crc32.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
 	    <depend name="crc32.h" />
 	</source>
 	<source name="gzclose.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
-	    <depend name="gzguts.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
+	    <depend name="gzguts.h" />
 	</source>
 	<source name="gzio.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
-	    <depend name="zutil.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
+	    <depend name="zutil.h" />
 	</source>
 	<source name="gzlib.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
-	    <depend name="gzguts.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
+	    <depend name="gzguts.h" />
 	</source>
 	<source name="gzread.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
-	    <depend name="gzguts.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
+	    <depend name="gzguts.h" />
 	</source>
 	<source name="gzwrite.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
-	    <depend name="gzguts.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
+	    <depend name="gzguts.h" />
 	</source>
 	<source name="uncompr.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
 	</source>
 	<source name="deflate.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
-	    <depend name="zutil.h" /> 
-	    <depend name="deflate.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
+	    <depend name="zutil.h" />
+	    <depend name="deflate.h" />
 	</source>
 	<source name="trees.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
-	    <depend name="zutil.h" /> 
-	    <depend name="deflate.h" /> 
-	    <depend name="trees.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
+	    <depend name="zutil.h" />
+	    <depend name="deflate.h" />
+	    <depend name="trees.h" />
 	</source>
 	<source name="zutil.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
-	    <depend name="zutil.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
+	    <depend name="zutil.h" />
 	</source>
 	<source name="inflate.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
-	    <depend name="zutil.h" /> 
-	    <depend name="inftrees.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
+	    <depend name="zutil.h" />
+	    <depend name="inftrees.h" />
 	    <depend name="inflate.h" />
 	    <depend name="inffast.h" />
 	</source>
 	<source name="infback.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
-	    <depend name="zutil.h" /> 
-	    <depend name="inftrees.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
+	    <depend name="zutil.h" />
+	    <depend name="inftrees.h" />
 	    <depend name="inflate.h" />
 	    <depend name="inffast.h" />
 	</source>
 	<source name="inftrees.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
-	    <depend name="zutil.h" /> 
-	    <depend name="inftrees.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
+	    <depend name="zutil.h" />
+	    <depend name="inftrees.h" />
 	</source>
 	<source name="inffast.c">
-	    <depend name="zlib.h" /> 
-	    <depend name="zconf.h" /> 
-	    <depend name="zutil.h" /> 
-	    <depend name="inftrees.h" /> 
+	    <depend name="zlib.h" />
+	    <depend name="zconf.h" />
+	    <depend name="zutil.h" />
+	    <depend name="inftrees.h" />
 	    <depend name="inflate.h" />
 	    <depend name="inffast.h" />
 	</source>
@@ -112,7 +112,7 @@
 
 # OBJA =
 # to use the asm code: make OBJA=match.o
-# 
+#
 match.o: match.S
 	$(CPP) match.S > _match.s
 	$(CC) -c _match.s
diff --git a/watcom/watcom_f.mak b/watcom/watcom_f.mak
index ace6bcf..273440a 100644
--- a/watcom/watcom_f.mak
+++ b/watcom/watcom_f.mak
@@ -19,7 +19,7 @@
 CFLAGS   = -zq -mf -3r -fp3 -s -bt=dos -oilrtfm -fr=nul -wx
 ZLIB_LIB = zlib_f.lib
 
-.C.OBJ:	
+.C.OBJ:
         $(CC) $(CFLAGS) $[@
 
 all: $(ZLIB_LIB) example.exe minigzip.exe
diff --git a/watcom/watcom_l.mak b/watcom/watcom_l.mak
index d8a106f..8e0f4d1 100644
--- a/watcom/watcom_l.mak
+++ b/watcom/watcom_l.mak
@@ -19,7 +19,7 @@
 CFLAGS   = -zq -ml -s -bt=dos -oilrtfm -fr=nul -wx
 ZLIB_LIB = zlib_l.lib
 
-.C.OBJ:	
+.C.OBJ:
         $(CC) $(CFLAGS) $[@
 
 all: $(ZLIB_LIB) example.exe minigzip.exe
diff --git a/zconf.h b/zconf.h
index df24759..71a41ad 100644
--- a/zconf.h
+++ b/zconf.h
@@ -48,6 +48,7 @@
 #  define deflate_copyright     z_deflate_copyright
 #  define get_crc_table         z_get_crc_table
 #  define gz_error              z_gz_error
+#  define gz_intmax             z_gz_intmax
 #  define gz_strwinerror        z_gz_strwinerror
 #  define gzbuffer              z_gzbuffer
 #  define gzclearerr            z_gzclearerr
diff --git a/zconf.in.h b/zconf.in.h
index df24759..71a41ad 100644
--- a/zconf.in.h
+++ b/zconf.in.h
@@ -48,6 +48,7 @@
 #  define deflate_copyright     z_deflate_copyright
 #  define get_crc_table         z_get_crc_table
 #  define gz_error              z_gz_error
+#  define gz_intmax             z_gz_intmax
 #  define gz_strwinerror        z_gz_strwinerror
 #  define gzbuffer              z_gzbuffer
 #  define gzclearerr            z_gzclearerr
diff --git a/zlib.3 b/zlib.3
index b96d959..f2171ae 100644
--- a/zlib.3
+++ b/zlib.3
@@ -1,4 +1,4 @@
-.TH ZLIB 3 "24 January 2010"
+.TH ZLIB 3 "13 February 2010"
 .SH NAME
 zlib \- compression/decompression library
 .SH SYNOPSIS
@@ -132,7 +132,7 @@
 Send questions and/or comments to zlib@gzip.org,
 or (for the Windows DLL version) to Gilles Vollant (info@winimage.com).
 .SH AUTHORS
-Version 1.2.3.7
+Version 1.2.3.8
 Copyright (C) 1995-2010 Jean-loup Gailly (jloup@gzip.org)
 and Mark Adler (madler@alumni.caltech.edu).
 .LP
diff --git a/zlib.h b/zlib.h
index 86a67f8..0bd83e9 100644
--- a/zlib.h
+++ b/zlib.h
@@ -1,5 +1,5 @@
 /* zlib.h -- interface of the 'zlib' general purpose compression library
-  version 1.2.3.7, Jan 24th, 2010
+  version 1.2.3.8, Feb 13th, 2010
 
   Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
 
@@ -37,8 +37,8 @@
 extern "C" {
 #endif
 
-#define ZLIB_VERSION "1.2.3.7"
-#define ZLIB_VERNUM 0x1237
+#define ZLIB_VERSION "1.2.3.8"
+#define ZLIB_VERNUM 0x1238
 #define ZLIB_VER_MAJOR 1
 #define ZLIB_VER_MINOR 2
 #define ZLIB_VER_REVISION 3
@@ -1316,7 +1316,7 @@
 /*
      Flushes all pending output into the compressed file.  The parameter flush
    is as in the deflate() function.  The return value is the zlib error number
-   (see function gzerror below).
+   (see function gzerror below).  gzflush is only permitted when writing.
 
      If the flush parameter is Z_FINISH, the remaining data is written and the
    gzip stream is completed in the output.  If gzwrite() is called again, a new
diff --git a/zlib.map b/zlib.map
index c99e973..3b443c7 100644
--- a/zlib.map
+++ b/zlib.map
@@ -15,6 +15,7 @@
     zcfree;
     z_errmsg;
     gz_error;
+    gz_intmax;
     gzio_old;
     _*;
 };
@@ -46,6 +47,11 @@
 } ZLIB_1.2.2.3;
 
 ZLIB_1.2.3.3 {
+    adler32_combine64;
+    crc32_combine64;
+    gzopen64;
+    gzseek64;
+    gztell64;
     inflateUndermine;
 } ZLIB_1.2.2.4;
 
diff --git a/zlib.pc.in b/zlib.pc.in
index 3e355aa..b4f98e5 100644
--- a/zlib.pc.in
+++ b/zlib.pc.in
@@ -7,6 +7,6 @@
 Description: zlib compression library
 Version: @VERSION@
 
-Requires: 
+Requires:
 Libs: -L${libdir} -lz
 Cflags: -I${includedir}
diff --git a/zlib2ansi b/zlib2ansi
index 0695f6b..15e3e16 100755
--- a/zlib2ansi
+++ b/zlib2ansi
@@ -25,7 +25,7 @@
 my $dList = qr{ $sp $decl (?: $sp , $d1 )* $sp ; $sp }xo ;
 
 
-while (s/^ 
+while (s/^
             (                  # Start $1
                 (              #   Start $2
                     .*?        #     Minimal eat content
@@ -57,7 +57,7 @@
     my $i = 0 ;
     my %pList = map { $_ => $i++ }
                 split /\s*,\s*/, $param_list;
-    my $pMatch = '(\b' . join('|', keys %pList) . '\b)\W*$' ;            
+    my $pMatch = '(\b' . join('|', keys %pList) . '\b)\W*$' ;
 
     my @params = split /\s*;\s*/, $params;
     my @outParams = ();
@@ -80,16 +80,16 @@
         }
     }
 
-    
-    my %tmp = map { /$pMatch/;  $_ => $pList{$1}  } 
+
+    my %tmp = map { /$pMatch/;  $_ => $pList{$1}  }
               @outParams ;
 
-    @outParams = map  { "    $_" }  
-                 sort { $tmp{$a} <=> $tmp{$b} } 
+    @outParams = map  { "    $_" }
+                 sort { $tmp{$a} <=> $tmp{$b} }
                  @outParams ;
 
     print $prefix ;
-    print "(\n" . join(",\n", @outParams) . ")\n";             
+    print "(\n" . join(",\n", @outParams) . ")\n";
     print "{" ;
 
 }
@@ -116,13 +116,13 @@
        )*          ##  0-or-more things which don't start with /
                    ##    but do end with '*'
        /           ##  End of /* ... */ comment
- 
+
      |         ##     OR  C++ Comment
-       //          ## Start of C++ comment // 
+       //          ## Start of C++ comment //
        [^\n]*      ## followed by 0-or-more non end of line characters
 
      |         ##     OR  various things which aren't comments:
- 
+
        (
          "           ##  Start of " ... " string
          (
@@ -131,9 +131,9 @@
            [^"\\]        ##  Non "\
          )*
          "           ##  End of " ... " string
- 
+
        |         ##     OR
- 
+
          '           ##  Start of ' ... ' string
          (
            \\.           ##  Escaped char
@@ -141,9 +141,9 @@
            [^'\\]        ##  Non '\
          )*
          '           ##  End of ' ... ' string
- 
+
        |         ##     OR
- 
+
          .           ##  Anything other char
          [^/"'\\]*   ##  Chars which doesn't start a comment, string or escape
        )