summaryrefslogtreecommitdiff
path: root/net/rsync
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>2001-05-20 07:28:06 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>2001-05-20 07:28:06 +0000
commit68776b3e4ec328c6c2d22b0bd6ebdf8f1dc194a2 (patch)
tree89733ca34ff9b3aa4dee327b559e40dd3374c668 /net/rsync
parentUpgrade the bundled zlib from 1.1.2 to 1.1.3. This should fix the hanging (diff)
Upgrade the bundled zlib from 1.1.2 to 1.1.3. This should fix the hanging
bugs we are seeing quite often at ftp-master. We cannot just use the system libz (which is at 1.1.3) because rsync has hacked it's copy. This upgrade contains those hacks. Submitted by: peter
Notes
Notes: svn path=/head/; revision=42795
Diffstat (limited to 'net/rsync')
-rw-r--r--net/rsync/files/patch-zlib-1.1.31276
1 files changed, 1276 insertions, 0 deletions
diff --git a/net/rsync/files/patch-zlib-1.1.3 b/net/rsync/files/patch-zlib-1.1.3
new file mode 100644
index 000000000000..3f9e7bb7a738
--- /dev/null
+++ b/net/rsync/files/patch-zlib-1.1.3
@@ -0,0 +1,1276 @@
+diff -ru2 ../zlib-1.1.2/ChangeLog ./ChangeLog
+--- ../zlib-1.1.2/ChangeLog Thu Mar 19 02:56:03 1998
++++ ./zlib/ChangeLog Thu Jul 9 09:04:19 1998
+@@ -2,4 +2,52 @@
+ ChangeLog file for zlib
+
++Changes in 1.1.3 (9 July 1998)
++- fix "an inflate input buffer bug that shows up on rare but persistent
++ occasions" (Mark)
++- fix gzread and gztell for concatenated .gz files (Didier Le Botlan)
++- fix gzseek(..., SEEK_SET) in write mode
++- fix crc check after a gzeek (Frank Faubert)
++- fix miniunzip when the last entry in a zip file is itself a zip file
++ (J Lillge)
++- add contrib/asm586 and contrib/asm686 (Brian Raiter)
++ See http://www.muppetlabs.com/~breadbox/software/assembly.html
++- add support for Delphi 3 in contrib/delphi (Bob Dellaca)
++- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti)
++- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren)
++- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks)
++- added a FAQ file
++
++- Support gzdopen on Mac with Metrowerks (Jason Linhart)
++- Do not redefine Byte on Mac (Brad Pettit & Jason Linhart)
++- define SEEK_END too if SEEK_SET is not defined (Albert Chin-A-Young)
++- avoid some warnings with Borland C (Tom Tanner)
++- fix a problem in contrib/minizip/zip.c for 16-bit MSDOS (Gilles Vollant)
++- emulate utime() for WIN32 in contrib/untgz (Gilles Vollant)
++- allow several arguments to configure (Tim Mooney, Frodo Looijaard)
++- use libdir and includedir in Makefile.in (Tim Mooney)
++- support shared libraries on OSF1 V4 (Tim Mooney)
++- remove so_locations in "make clean" (Tim Mooney)
++- fix maketree.c compilation error (Glenn, Mark)
++- Python interface to zlib now in Python 1.5 (Jeremy Hylton)
++- new Makefile.riscos (Rich Walker)
++- initialize static descriptors in trees.c for embedded targets (Nick Smith)
++- use "foo-gz" in example.c for RISCOS and VMS (Nick Smith)
++- add the OS/2 files in Makefile.in too (Andrew Zabolotny)
++- fix fdopen and halloc macros for Microsoft C 6.0 (Tom Lane)
++- fix maketree.c to allow clean compilation of inffixed.h (Mark)
++- fix parameter check in deflateCopy (Gunther Nikl)
++- cleanup trees.c, use compressed_len only in debug mode (Christian Spieler)
++- Many portability patches by Christian Spieler:
++ . zutil.c, zutil.h: added "const" for zmem*
++ . Make_vms.com: fixed some typos
++ . Make_vms.com: msdos/Makefile.*: removed zutil.h from some dependency lists
++ . msdos/Makefile.msc: remove "default rtl link library" info from obj files
++ . msdos/Makefile.*: use model-dependent name for the built zlib library
++ . msdos/Makefile.emx, nt/Makefile.emx, nt/Makefile.gcc:
++ new makefiles, for emx (DOS/OS2), emx&rsxnt and mingw32 (Windows 9x / NT)
++- use define instead of typedef for Bytef also for MSC small/medium (Tom Lane)
++- replace __far with _far for better portability (Christian Spieler, Tom Lane)
++- fix test for errno.h in configure (Tim Newsham)
++
+ Changes in 1.1.2 (19 March 98)
+ - added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant)
+diff -ru2 ../zlib-1.1.2/Makefile ./Makefile
+--- ../zlib-1.1.2/Makefile Thu Mar 19 06:55:01 1998
++++ ./zlib/Makefile Thu Jul 9 09:07:18 1998
+@@ -23,6 +23,7 @@
+ LDFLAGS=-L. -lz
+ LDSHARED=$(CC)
++CPP=$(CC) -E
+
+-VER=1.1.2
++VER=1.1.3
+ LIBS=libz.a
+ SHAREDLIB=libz.so
+@@ -35,19 +36,25 @@
+ prefix = /usr/local
+ exec_prefix = ${prefix}
++libdir = ${exec_prefix}/lib
++includedir = ${prefix}/include
+
+ OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
+ zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
+
++OBJA =
++# to use the asm code: make OBJA=match.o
++
+ TEST_OBJS = example.o minigzip.o
+
+-DISTFILES = README INDEX ChangeLog configure Make*[a-z0-9] *.[ch] descrip.mms \
++DISTFILES = README FAQ INDEX ChangeLog configure Make*[a-z0-9] *.[ch] *.mms \
+ algorithm.txt zlib.3 msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \
+- nt/Makefile.nt nt/zlib.dnt amiga/Make*.??? contrib/README.contrib \
+- contrib/*.txt contrib/asm386/*.asm contrib/asm386/*.c \
+- contrib/asm386/*.bat contrib/asm386/zlibvc.d?? contrib/iostream/*.cpp \
++ nt/Make*[a-z0-9] nt/zlib.dnt amiga/Make*.??? os2/M*.os2 os2/zlib.def \
++ contrib/RE*.contrib contrib/*.txt contrib/asm386/*.asm contrib/asm386/*.c \
++ contrib/asm386/*.bat contrib/asm386/zlibvc.d?? contrib/asm[56]86/*.?86 \
++ contrib/asm[56]86/*.S contrib/iostream/*.cpp \
+ contrib/iostream/*.h contrib/iostream2/*.h contrib/iostream2/*.cpp \
+ contrib/untgz/Makefile contrib/untgz/*.c contrib/untgz/*.w32 \
+- contrib/minizip/[CM]*[pe] contrib/minizip/*.[ch] contrib/minizip/*.[td]??
+-
++ contrib/minizip/[CM]*[pe] contrib/minizip/*.[ch] contrib/minizip/*.[td]?? \
++ contrib/delphi*/*.???
+
+ all: example minigzip
+@@ -63,8 +70,14 @@
+ fi
+
+-libz.a: $(OBJS)
+- $(AR) $@ $(OBJS)
++libz.a: $(OBJS) $(OBJA)
++ $(AR) $@ $(OBJS) $(OBJA)
+ -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
+
++match.o: match.S
++ $(CPP) match.S > _match.s
++ $(CC) -c _match.s
++ mv _match.o match.o
++ rm -f _match.s
++
+ $(SHAREDLIB).$(VER): $(OBJS)
+ $(LDSHARED) -o $@ $(OBJS)
+@@ -80,12 +93,12 @@
+
+ install: $(LIBS)
+- -@if [ ! -d $(prefix)/include ]; then mkdir $(prefix)/include; fi
+- -@if [ ! -d $(exec_prefix)/lib ]; then mkdir $(exec_prefix)/lib; fi
+- cp zlib.h zconf.h $(prefix)/include
+- chmod 644 $(prefix)/include/zlib.h $(prefix)/include/zconf.h
+- cp $(LIBS) $(exec_prefix)/lib
+- cd $(exec_prefix)/lib; chmod 755 $(LIBS)
+- -@(cd $(exec_prefix)/lib; $(RANLIB) libz.a || true) >/dev/null 2>&1
+- cd $(exec_prefix)/lib; if test -f $(SHAREDLIB).$(VER); then \
++ -@if [ ! -d $(includedir) ]; then mkdir $(includedir); fi
++ -@if [ ! -d $(libdir) ]; then mkdir $(libdir); fi
++ cp zlib.h zconf.h $(includedir)
++ chmod 644 $(includedir)/zlib.h $(includedir)/zconf.h
++ cp $(LIBS) $(libdir)
++ cd $(libdir); chmod 755 $(LIBS)
++ -@(cd $(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1
++ cd $(libdir); if test -f $(SHAREDLIB).$(VER); then \
+ rm -f $(SHAREDLIB) $(SHAREDLIB).1; \
+ ln -s $(SHAREDLIB).$(VER) $(SHAREDLIB); \
+@@ -97,5 +110,5 @@
+
+ uninstall:
+- cd $(prefix)/include; \
++ cd $(includedir); \
+ v=$(VER); \
+ if test -f zlib.h; then \
+@@ -103,5 +116,5 @@
+ rm -f zlib.h zconf.h; \
+ fi; \
+- cd $(exec_prefix)/lib; rm -f libz.a; \
++ cd $(libdir); rm -f libz.a; \
+ if test -f $(SHAREDLIB).$$v; then \
+ rm -f $(SHAREDLIB).$$v $(SHAREDLIB) $(SHAREDLIB).1; \
+@@ -109,5 +122,6 @@
+
+ clean:
+- rm -f *.o *~ example minigzip libz.a libz.so* foo.gz
++ rm -f *.o *~ example minigzip libz.a libz.so* foo.gz so_locations \
++ _match.s maketree
+
+ distclean: clean
+diff -ru2 ../zlib-1.1.2/README ./README
+--- ../zlib-1.1.2/README Thu Mar 19 06:46:31 1998
++++ ./zlib/README Thu Jul 9 09:04:32 1998
+@@ -1,3 +1,3 @@
+-zlib 1.1.2 is a general purpose data compression library. All the code
++zlib 1.1.3 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
+@@ -15,33 +15,39 @@
+ To compile all files and run the test program, follow the instructions
+ given at the top of Makefile. In short "make test; make install"
+-should work for most machines. For MSDOS, use one of the special
+-makefiles such as Makefile.msc; for VMS, use Make_vms.com or descrip.mms.
++should work for most machines. For Unix: "configure; make test; make install"
++For MSDOS, use one of the special makefiles such as Makefile.msc.
++For VMS, use Make_vms.com or descrip.mms.
+
+-Questions about zlib should be sent to <zlib@quest.jpl.nasa.gov> or,
+-if this fails, to the addresses given below in the Copyright section.
++Questions about zlib should be sent to <zlib@quest.jpl.nasa.gov>, or to
++Gilles Vollant <info@winimage.com> for the Windows DLL version.
+ The zlib home page is http://www.cdrom.com/pub/infozip/zlib/
+ The official zlib ftp site is ftp://ftp.cdrom.com/pub/infozip/zlib/
++Before reporting a problem, please check those sites to verify that
++you have the latest version of zlib; otherwise get the latest version and
++check whether the problem still exists or not.
++
+ Mark Nelson <markn@tiny.com> wrote an article about zlib for the Jan. 1997
+ issue of Dr. Dobb's Journal; a copy of the article is available in
+ http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm
+
+-The changes made in version 1.1.2 are documented in the file ChangeLog.
+-The main changes since 1.1.1 are:
++The changes made in version 1.1.3 are documented in the file ChangeLog.
++The main changes since 1.1.2 are:
+
+-- added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant)
+- See http://www.winimage.com/zLibDll/unzip.html
+-- preinitialize the inflate tables for fixed codes, to make the code
+- completely thread safe (Mark)
+-- some simplifications and slight speed-up to the inflate code (Mark)
+-- fix gzeof on non-compressed files (Allan Schrum)
+-- add -std1 option in configure for OSF1 to fix gzprintf (Martin Mokrejs)
+-- use default value of 4K for Z_BUFSIZE for 16-bit MSDOS (Tim Wegner + Glenn)
+-- added os2/Makefile.def and os2/zlib.def (Andrew Zabolotny)
+-- add shared lib support for UNIX_SV4.2MP (MATSUURA Takanori)
+-- do not wrap extern "C" around system includes (Tom Lane)
+-- added amiga/Makefile.pup for Amiga powerUP SAS/C PPC (Andreas Kleinert)
+-- allow "make install prefix=..." even after configure (Glenn Randers-Pehrson)
+-- allow "configure --prefix $HOME" (Tim Mooney)
++- fix "an inflate input buffer bug that shows up on rare but persistent
++ occasions" (Mark)
++- fix gzread and gztell for concatenated .gz files (Didier Le Botlan)
++- fix gzseek(..., SEEK_SET) in write mode
++- fix crc check after a gzeek (Frank Faubert)
++- fix miniunzip when the last entry in a zip file is itself a zip file
++ (J Lillge)
++- add contrib/asm586 and contrib/asm686 (Brian Raiter)
++ See http://www.muppetlabs.com/~breadbox/software/assembly.html
++- add support for Delphi 3 in contrib/delphi (Bob Dellaca)
++- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti)
++- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren)
++- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks)
++- added a FAQ file
+
++plus many changes for portability.
+
+ Unsupported third party contributions are provided in directory "contrib".
+@@ -56,6 +62,6 @@
+
+ A Python interface to zlib written by A.M. Kuchling <amk@magnet.com>
+-is available from the Python Software Association sites, such as:
+-ftp://ftp.python.org/pub/python/contrib/Encoding/zlib*.tar.gz
++is available in Python 1.5 and later versions, see
++http://www.python.org/doc/lib/module-zlib.html
+
+ A zlib binding for TCL written by Andreas Kupries <a.kupries@westend.com>
+@@ -78,6 +84,6 @@
+ From Visual Basic, you can call the DLL functions which do not take
+ a structure as argument: compress, uncompress and all gz* functions.
+- See contrib/visual-basic.txt for more information.
+- I don't know how to handle structures in Visual Basic, sorry.
++ See contrib/visual-basic.txt for more information, or get
++ http://www.tcfb.com/dowseware/cmp-z-it.zip
+
+ - For 64-bit Irix, deflate.c must be compiled without any optimization.
+@@ -94,12 +100,11 @@
+ with other compilers. Use "make test" to check your compiler.
+
+-- For shared memory multiprocessors, the decompression code assumes that
+- writes to pointers are atomic. Also the functions zalloc and zfree passed
+- to deflateInit must be multi-threaded in this case.
+-
+ - gzdopen is not supported on RISCOS, BEOS and by some Mac compilers.
+
+ - For Turbo C the small model is supported only with reduced performance to
+ avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3
++
++- For PalmOs, see http://www.cs.uit.no/~perm/PASTA/pilot/software.html
++ Per Harald Myrvang <perm@stud.cs.uit.no>
+
+
+diff -ru2 ../zlib-1.1.2/deflate.c ./deflate.c
+--- ../zlib-1.1.2/deflate.c Thu Mar 19 06:47:47 1998
++++ ./zlib/deflate.c Thu Jul 9 09:06:12 1998
+@@ -53,5 +53,5 @@
+
+ const char deflate_copyright[] =
+- " deflate 1.1.2 Copyright 1995-1998 Jean-loup Gailly ";
++ " deflate 1.1.3 Copyright 1995-1998 Jean-loup Gailly ";
+ /*
+ If you use the zlib library in a product, an acknowledgment is welcome
+@@ -609,9 +609,11 @@
+ ushf *overlay;
+
+- ss = source->state;
+
+- if (source == Z_NULL || dest == Z_NULL || ss == Z_NULL) {
++ if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL) {
+ return Z_STREAM_ERROR;
+ }
++
++ ss = source->state;
++
+ *dest = *source;
+
+diff -ru2 ../zlib-1.1.2/deflate.h ./deflate.h
+--- ../zlib-1.1.2/deflate.h Fri Feb 27 12:10:54 1998
++++ ./zlib/deflate.h Wed Jul 8 09:30:19 1998
+@@ -231,10 +231,10 @@
+ ulg opt_len; /* bit length of current block with optimal trees */
+ ulg static_len; /* bit length of current block with static trees */
+- ulg compressed_len; /* total bit length of compressed file */
+ uInt matches; /* number of string matches in current block */
+ int last_eob_len; /* bit length of EOB code for last block */
+
+ #ifdef DEBUG
+- ulg bits_sent; /* bit length of the compressed data */
++ ulg compressed_len; /* total bit length of compressed file mod 2^32 */
++ ulg bits_sent; /* bit length of compressed data sent mod 2^32 */
+ #endif
+
+@@ -269,5 +269,5 @@
+ void _tr_init OF((deflate_state *s));
+ int _tr_tally OF((deflate_state *s, unsigned dist, unsigned lc));
+-ulg _tr_flush_block OF((deflate_state *s, charf *buf, ulg stored_len,
++void _tr_flush_block OF((deflate_state *s, charf *buf, ulg stored_len,
+ int eof));
+ void _tr_align OF((deflate_state *s));
+diff -ru2 ../zlib-1.1.2/infblock.c ./infblock.c
+--- ../zlib-1.1.2/infblock.c Mon Mar 16 10:11:41 1998
++++ ./zlib/infblock.c Mon Jun 8 10:06:16 1998
+@@ -346,11 +346,4 @@
+ break;
+ }
+- if (k > 7) /* return unused byte, if any */
+- {
+- Assert(k < 16, "inflate_codes grabbed too many bytes")
+- k -= 8;
+- n++;
+- p--; /* can always return one */
+- }
+ s->mode = DRY;
+ case DRY:
+diff -ru2 ../zlib-1.1.2/infcodes.c ./infcodes.c
+--- ../zlib-1.1.2/infcodes.c Mon Mar 16 10:10:33 1998
++++ ./zlib/infcodes.c Mon Jun 8 10:06:16 1998
+@@ -222,4 +222,11 @@
+ break;
+ case WASH: /* o: got eob, possibly more output */
++ if (k > 7) /* return unused byte, if any */
++ {
++ Assert(k < 16, "inflate_codes grabbed too many bytes")
++ k -= 8;
++ n++;
++ p--; /* can always return one */
++ }
+ FLUSH
+ if (s->read != s->write)
+diff -ru2 ../zlib-1.1.2/inffixed.h ./inffixed.h
+--- ../zlib-1.1.2/inffixed.h Mon Mar 16 10:23:53 1998
++++ ./zlib/inffixed.h Tue Jun 16 04:29:49 1998
+@@ -11,115 +11,141 @@
+ local uInt fixed_bd = 5;
+ local inflate_huft fixed_tl[] = {
+- {{96,7},256}, {{0,8},80}, {{0,8},16}, {{84,8},115}, {{82,7},31},
+- {{0,8},112}, {{0,8},48}, {{0,9},192}, {{80,7},10}, {{0,8},96},
+- {{0,8},32}, {{0,9},160}, {{0,8},0}, {{0,8},128}, {{0,8},64},
+- {{0,9},224}, {{80,7},6}, {{0,8},88}, {{0,8},24}, {{0,9},144},
+- {{83,7},59}, {{0,8},120}, {{0,8},56}, {{0,9},208}, {{81,7},17},
+- {{0,8},104}, {{0,8},40}, {{0,9},176}, {{0,8},8}, {{0,8},136},
+- {{0,8},72}, {{0,9},240}, {{80,7},4}, {{0,8},84}, {{0,8},20},
+- {{85,8},227}, {{83,7},43}, {{0,8},116}, {{0,8},52}, {{0,9},200},
+- {{81,7},13}, {{0,8},100}, {{0,8},36}, {{0,9},168}, {{0,8},4},
+- {{0,8},132}, {{0,8},68}, {{0,9},232}, {{80,7},8}, {{0,8},92},
+- {{0,8},28}, {{0,9},152}, {{84,7},83}, {{0,8},124}, {{0,8},60},
+- {{0,9},216}, {{82,7},23}, {{0,8},108}, {{0,8},44}, {{0,9},184},
+- {{0,8},12}, {{0,8},140}, {{0,8},76}, {{0,9},248}, {{80,7},3},
+- {{0,8},82}, {{0,8},18}, {{85,8},163}, {{83,7},35}, {{0,8},114},
+- {{0,8},50}, {{0,9},196}, {{81,7},11}, {{0,8},98}, {{0,8},34},
+- {{0,9},164}, {{0,8},2}, {{0,8},130}, {{0,8},66}, {{0,9},228},
+- {{80,7},7}, {{0,8},90}, {{0,8},26}, {{0,9},148}, {{84,7},67},
+- {{0,8},122}, {{0,8},58}, {{0,9},212}, {{82,7},19}, {{0,8},106},
+- {{0,8},42}, {{0,9},180}, {{0,8},10}, {{0,8},138}, {{0,8},74},
+- {{0,9},244}, {{80,7},5}, {{0,8},86}, {{0,8},22}, {{192,8},0},
+- {{83,7},51}, {{0,8},118}, {{0,8},54}, {{0,9},204}, {{81,7},15},
+- {{0,8},102}, {{0,8},38}, {{0,9},172}, {{0,8},6}, {{0,8},134},
+- {{0,8},70}, {{0,9},236}, {{80,7},9}, {{0,8},94}, {{0,8},30},
+- {{0,9},156}, {{84,7},99}, {{0,8},126}, {{0,8},62}, {{0,9},220},
+- {{82,7},27}, {{0,8},110}, {{0,8},46}, {{0,9},188}, {{0,8},14},
+- {{0,8},142}, {{0,8},78}, {{0,9},252}, {{96,7},256}, {{0,8},81},
+- {{0,8},17}, {{85,8},131}, {{82,7},31}, {{0,8},113}, {{0,8},49},
+- {{0,9},194}, {{80,7},10}, {{0,8},97}, {{0,8},33}, {{0,9},162},
+- {{0,8},1}, {{0,8},129}, {{0,8},65}, {{0,9},226}, {{80,7},6},
+- {{0,8},89}, {{0,8},25}, {{0,9},146}, {{83,7},59}, {{0,8},121},
+- {{0,8},57}, {{0,9},210}, {{81,7},17}, {{0,8},105}, {{0,8},41},
+- {{0,9},178}, {{0,8},9}, {{0,8},137}, {{0,8},73}, {{0,9},242},
+- {{80,7},4}, {{0,8},85}, {{0,8},21}, {{80,8},258}, {{83,7},43},
+- {{0,8},117}, {{0,8},53}, {{0,9},202}, {{81,7},13}, {{0,8},101},
+- {{0,8},37}, {{0,9},170}, {{0,8},5}, {{0,8},133}, {{0,8},69},
+- {{0,9},234}, {{80,7},8}, {{0,8},93}, {{0,8},29}, {{0,9},154},
+- {{84,7},83}, {{0,8},125}, {{0,8},61}, {{0,9},218}, {{82,7},23},
+- {{0,8},109}, {{0,8},45}, {{0,9},186}, {{0,8},13}, {{0,8},141},
+- {{0,8},77}, {{0,9},250}, {{80,7},3}, {{0,8},83}, {{0,8},19},
+- {{85,8},195}, {{83,7},35}, {{0,8},115}, {{0,8},51}, {{0,9},198},
+- {{81,7},11}, {{0,8},99}, {{0,8},35}, {{0,9},166}, {{0,8},3},
+- {{0,8},131}, {{0,8},67}, {{0,9},230}, {{80,7},7}, {{0,8},91},
+- {{0,8},27}, {{0,9},150}, {{84,7},67}, {{0,8},123}, {{0,8},59},
+- {{0,9},214}, {{82,7},19}, {{0,8},107}, {{0,8},43}, {{0,9},182},
+- {{0,8},11}, {{0,8},139}, {{0,8},75}, {{0,9},246}, {{80,7},5},
+- {{0,8},87}, {{0,8},23}, {{192,8},0}, {{83,7},51}, {{0,8},119},
+- {{0,8},55}, {{0,9},206}, {{81,7},15}, {{0,8},103}, {{0,8},39},
+- {{0,9},174}, {{0,8},7}, {{0,8},135}, {{0,8},71}, {{0,9},238},
+- {{80,7},9}, {{0,8},95}, {{0,8},31}, {{0,9},158}, {{84,7},99},
+- {{0,8},127}, {{0,8},63}, {{0,9},222}, {{82,7},27}, {{0,8},111},
+- {{0,8},47}, {{0,9},190}, {{0,8},15}, {{0,8},143}, {{0,8},79},
+- {{0,9},254}, {{96,7},256}, {{0,8},80}, {{0,8},16}, {{84,8},115},
+- {{82,7},31}, {{0,8},112}, {{0,8},48}, {{0,9},193}, {{80,7},10},
+- {{0,8},96}, {{0,8},32}, {{0,9},161}, {{0,8},0}, {{0,8},128},
+- {{0,8},64}, {{0,9},225}, {{80,7},6}, {{0,8},88}, {{0,8},24},
+- {{0,9},145}, {{83,7},59}, {{0,8},120}, {{0,8},56}, {{0,9},209},
+- {{81,7},17}, {{0,8},104}, {{0,8},40}, {{0,9},177}, {{0,8},8},
+- {{0,8},136}, {{0,8},72}, {{0,9},241}, {{80,7},4}, {{0,8},84},
+- {{0,8},20}, {{85,8},227}, {{83,7},43}, {{0,8},116}, {{0,8},52},
+- {{0,9},201}, {{81,7},13}, {{0,8},100}, {{0,8},36}, {{0,9},169},
+- {{0,8},4}, {{0,8},132}, {{0,8},68}, {{0,9},233}, {{80,7},8},
+- {{0,8},92}, {{0,8},28}, {{0,9},153}, {{84,7},83}, {{0,8},124},
+- {{0,8},60}, {{0,9},217}, {{82,7},23}, {{0,8},108}, {{0,8},44},
+- {{0,9},185}, {{0,8},12}, {{0,8},140}, {{0,8},76}, {{0,9},249},
+- {{80,7},3}, {{0,8},82}, {{0,8},18}, {{85,8},163}, {{83,7},35},
+- {{0,8},114}, {{0,8},50}, {{0,9},197}, {{81,7},11}, {{0,8},98},
+- {{0,8},34}, {{0,9},165}, {{0,8},2}, {{0,8},130}, {{0,8},66},
+- {{0,9},229}, {{80,7},7}, {{0,8},90}, {{0,8},26}, {{0,9},149},
+- {{84,7},67}, {{0,8},122}, {{0,8},58}, {{0,9},213}, {{82,7},19},
+- {{0,8},106}, {{0,8},42}, {{0,9},181}, {{0,8},10}, {{0,8},138},
+- {{0,8},74}, {{0,9},245}, {{80,7},5}, {{0,8},86}, {{0,8},22},
+- {{192,8},0}, {{83,7},51}, {{0,8},118}, {{0,8},54}, {{0,9},205},
+- {{81,7},15}, {{0,8},102}, {{0,8},38}, {{0,9},173}, {{0,8},6},
+- {{0,8},134}, {{0,8},70}, {{0,9},237}, {{80,7},9}, {{0,8},94},
+- {{0,8},30}, {{0,9},157}, {{84,7},99}, {{0,8},126}, {{0,8},62},
+- {{0,9},221}, {{82,7},27}, {{0,8},110}, {{0,8},46}, {{0,9},189},
+- {{0,8},14}, {{0,8},142}, {{0,8},78}, {{0,9},253}, {{96,7},256},
+- {{0,8},81}, {{0,8},17}, {{85,8},131}, {{82,7},31}, {{0,8},113},
+- {{0,8},49}, {{0,9},195}, {{80,7},10}, {{0,8},97}, {{0,8},33},
+- {{0,9},163}, {{0,8},1}, {{0,8},129}, {{0,8},65}, {{0,9},227},
+- {{80,7},6}, {{0,8},89}, {{0,8},25}, {{0,9},147}, {{83,7},59},
+- {{0,8},121}, {{0,8},57}, {{0,9},211}, {{81,7},17}, {{0,8},105},
+- {{0,8},41}, {{0,9},179}, {{0,8},9}, {{0,8},137}, {{0,8},73},
+- {{0,9},243}, {{80,7},4}, {{0,8},85}, {{0,8},21}, {{80,8},258},
+- {{83,7},43}, {{0,8},117}, {{0,8},53}, {{0,9},203}, {{81,7},13},
+- {{0,8},101}, {{0,8},37}, {{0,9},171}, {{0,8},5}, {{0,8},133},
+- {{0,8},69}, {{0,9},235}, {{80,7},8}, {{0,8},93}, {{0,8},29},
+- {{0,9},155}, {{84,7},83}, {{0,8},125}, {{0,8},61}, {{0,9},219},
+- {{82,7},23}, {{0,8},109}, {{0,8},45}, {{0,9},187}, {{0,8},13},
+- {{0,8},141}, {{0,8},77}, {{0,9},251}, {{80,7},3}, {{0,8},83},
+- {{0,8},19}, {{85,8},195}, {{83,7},35}, {{0,8},115}, {{0,8},51},
+- {{0,9},199}, {{81,7},11}, {{0,8},99}, {{0,8},35}, {{0,9},167},
+- {{0,8},3}, {{0,8},131}, {{0,8},67}, {{0,9},231}, {{80,7},7},
+- {{0,8},91}, {{0,8},27}, {{0,9},151}, {{84,7},67}, {{0,8},123},
+- {{0,8},59}, {{0,9},215}, {{82,7},19}, {{0,8},107}, {{0,8},43},
+- {{0,9},183}, {{0,8},11}, {{0,8},139}, {{0,8},75}, {{0,9},247},
+- {{80,7},5}, {{0,8},87}, {{0,8},23}, {{192,8},0}, {{83,7},51},
+- {{0,8},119}, {{0,8},55}, {{0,9},207}, {{81,7},15}, {{0,8},103},
+- {{0,8},39}, {{0,9},175}, {{0,8},7}, {{0,8},135}, {{0,8},71},
+- {{0,9},239}, {{80,7},9}, {{0,8},95}, {{0,8},31}, {{0,9},159},
+- {{84,7},99}, {{0,8},127}, {{0,8},63}, {{0,9},223}, {{82,7},27},
+- {{0,8},111}, {{0,8},47}, {{0,9},191}, {{0,8},15}, {{0,8},143},
+- {{0,8},79}, {{0,9},255}
++ {{{96,7}},256}, {{{0,8}},80}, {{{0,8}},16}, {{{84,8}},115},
++ {{{82,7}},31}, {{{0,8}},112}, {{{0,8}},48}, {{{0,9}},192},
++ {{{80,7}},10}, {{{0,8}},96}, {{{0,8}},32}, {{{0,9}},160},
++ {{{0,8}},0}, {{{0,8}},128}, {{{0,8}},64}, {{{0,9}},224},
++ {{{80,7}},6}, {{{0,8}},88}, {{{0,8}},24}, {{{0,9}},144},
++ {{{83,7}},59}, {{{0,8}},120}, {{{0,8}},56}, {{{0,9}},208},
++ {{{81,7}},17}, {{{0,8}},104}, {{{0,8}},40}, {{{0,9}},176},
++ {{{0,8}},8}, {{{0,8}},136}, {{{0,8}},72}, {{{0,9}},240},
++ {{{80,7}},4}, {{{0,8}},84}, {{{0,8}},20}, {{{85,8}},227},
++ {{{83,7}},43}, {{{0,8}},116}, {{{0,8}},52}, {{{0,9}},200},
++ {{{81,7}},13}, {{{0,8}},100}, {{{0,8}},36}, {{{0,9}},168},
++ {{{0,8}},4}, {{{0,8}},132}, {{{0,8}},68}, {{{0,9}},232},
++ {{{80,7}},8}, {{{0,8}},92}, {{{0,8}},28}, {{{0,9}},152},
++ {{{84,7}},83}, {{{0,8}},124}, {{{0,8}},60}, {{{0,9}},216},
++ {{{82,7}},23}, {{{0,8}},108}, {{{0,8}},44}, {{{0,9}},184},
++ {{{0,8}},12}, {{{0,8}},140}, {{{0,8}},76}, {{{0,9}},248},
++ {{{80,7}},3}, {{{0,8}},82}, {{{0,8}},18}, {{{85,8}},163},
++ {{{83,7}},35}, {{{0,8}},114}, {{{0,8}},50}, {{{0,9}},196},
++ {{{81,7}},11}, {{{0,8}},98}, {{{0,8}},34}, {{{0,9}},164},
++ {{{0,8}},2}, {{{0,8}},130}, {{{0,8}},66}, {{{0,9}},228},
++ {{{80,7}},7}, {{{0,8}},90}, {{{0,8}},26}, {{{0,9}},148},
++ {{{84,7}},67}, {{{0,8}},122}, {{{0,8}},58}, {{{0,9}},212},
++ {{{82,7}},19}, {{{0,8}},106}, {{{0,8}},42}, {{{0,9}},180},
++ {{{0,8}},10}, {{{0,8}},138}, {{{0,8}},74}, {{{0,9}},244},
++ {{{80,7}},5}, {{{0,8}},86}, {{{0,8}},22}, {{{192,8}},0},
++ {{{83,7}},51}, {{{0,8}},118}, {{{0,8}},54}, {{{0,9}},204},
++ {{{81,7}},15}, {{{0,8}},102}, {{{0,8}},38}, {{{0,9}},172},
++ {{{0,8}},6}, {{{0,8}},134}, {{{0,8}},70}, {{{0,9}},236},
++ {{{80,7}},9}, {{{0,8}},94}, {{{0,8}},30}, {{{0,9}},156},
++ {{{84,7}},99}, {{{0,8}},126}, {{{0,8}},62}, {{{0,9}},220},
++ {{{82,7}},27}, {{{0,8}},110}, {{{0,8}},46}, {{{0,9}},188},
++ {{{0,8}},14}, {{{0,8}},142}, {{{0,8}},78}, {{{0,9}},252},
++ {{{96,7}},256}, {{{0,8}},81}, {{{0,8}},17}, {{{85,8}},131},
++ {{{82,7}},31}, {{{0,8}},113}, {{{0,8}},49}, {{{0,9}},194},
++ {{{80,7}},10}, {{{0,8}},97}, {{{0,8}},33}, {{{0,9}},162},
++ {{{0,8}},1}, {{{0,8}},129}, {{{0,8}},65}, {{{0,9}},226},
++ {{{80,7}},6}, {{{0,8}},89}, {{{0,8}},25}, {{{0,9}},146},
++ {{{83,7}},59}, {{{0,8}},121}, {{{0,8}},57}, {{{0,9}},210},
++ {{{81,7}},17}, {{{0,8}},105}, {{{0,8}},41}, {{{0,9}},178},
++ {{{0,8}},9}, {{{0,8}},137}, {{{0,8}},73}, {{{0,9}},242},
++ {{{80,7}},4}, {{{0,8}},85}, {{{0,8}},21}, {{{80,8}},258},
++ {{{83,7}},43}, {{{0,8}},117}, {{{0,8}},53}, {{{0,9}},202},
++ {{{81,7}},13}, {{{0,8}},101}, {{{0,8}},37}, {{{0,9}},170},
++ {{{0,8}},5}, {{{0,8}},133}, {{{0,8}},69}, {{{0,9}},234},
++ {{{80,7}},8}, {{{0,8}},93}, {{{0,8}},29}, {{{0,9}},154},
++ {{{84,7}},83}, {{{0,8}},125}, {{{0,8}},61}, {{{0,9}},218},
++ {{{82,7}},23}, {{{0,8}},109}, {{{0,8}},45}, {{{0,9}},186},
++ {{{0,8}},13}, {{{0,8}},141}, {{{0,8}},77}, {{{0,9}},250},
++ {{{80,7}},3}, {{{0,8}},83}, {{{0,8}},19}, {{{85,8}},195},
++ {{{83,7}},35}, {{{0,8}},115}, {{{0,8}},51}, {{{0,9}},198},
++ {{{81,7}},11}, {{{0,8}},99}, {{{0,8}},35}, {{{0,9}},166},
++ {{{0,8}},3}, {{{0,8}},131}, {{{0,8}},67}, {{{0,9}},230},
++ {{{80,7}},7}, {{{0,8}},91}, {{{0,8}},27}, {{{0,9}},150},
++ {{{84,7}},67}, {{{0,8}},123}, {{{0,8}},59}, {{{0,9}},214},
++ {{{82,7}},19}, {{{0,8}},107}, {{{0,8}},43}, {{{0,9}},182},
++ {{{0,8}},11}, {{{0,8}},139}, {{{0,8}},75}, {{{0,9}},246},
++ {{{80,7}},5}, {{{0,8}},87}, {{{0,8}},23}, {{{192,8}},0},
++ {{{83,7}},51}, {{{0,8}},119}, {{{0,8}},55}, {{{0,9}},206},
++ {{{81,7}},15}, {{{0,8}},103}, {{{0,8}},39}, {{{0,9}},174},
++ {{{0,8}},7}, {{{0,8}},135}, {{{0,8}},71}, {{{0,9}},238},
++ {{{80,7}},9}, {{{0,8}},95}, {{{0,8}},31}, {{{0,9}},158},
++ {{{84,7}},99}, {{{0,8}},127}, {{{0,8}},63}, {{{0,9}},222},
++ {{{82,7}},27}, {{{0,8}},111}, {{{0,8}},47}, {{{0,9}},190},
++ {{{0,8}},15}, {{{0,8}},143}, {{{0,8}},79}, {{{0,9}},254},
++ {{{96,7}},256}, {{{0,8}},80}, {{{0,8}},16}, {{{84,8}},115},
++ {{{82,7}},31}, {{{0,8}},112}, {{{0,8}},48}, {{{0,9}},193},
++ {{{80,7}},10}, {{{0,8}},96}, {{{0,8}},32}, {{{0,9}},161},
++ {{{0,8}},0}, {{{0,8}},128}, {{{0,8}},64}, {{{0,9}},225},
++ {{{80,7}},6}, {{{0,8}},88}, {{{0,8}},24}, {{{0,9}},145},
++ {{{83,7}},59}, {{{0,8}},120}, {{{0,8}},56}, {{{0,9}},209},
++ {{{81,7}},17}, {{{0,8}},104}, {{{0,8}},40}, {{{0,9}},177},
++ {{{0,8}},8}, {{{0,8}},136}, {{{0,8}},72}, {{{0,9}},241},
++ {{{80,7}},4}, {{{0,8}},84}, {{{0,8}},20}, {{{85,8}},227},
++ {{{83,7}},43}, {{{0,8}},116}, {{{0,8}},52}, {{{0,9}},201},
++ {{{81,7}},13}, {{{0,8}},100}, {{{0,8}},36}, {{{0,9}},169},
++ {{{0,8}},4}, {{{0,8}},132}, {{{0,8}},68}, {{{0,9}},233},
++ {{{80,7}},8}, {{{0,8}},92}, {{{0,8}},28}, {{{0,9}},153},
++ {{{84,7}},83}, {{{0,8}},124}, {{{0,8}},60}, {{{0,9}},217},
++ {{{82,7}},23}, {{{0,8}},108}, {{{0,8}},44}, {{{0,9}},185},
++ {{{0,8}},12}, {{{0,8}},140}, {{{0,8}},76}, {{{0,9}},249},
++ {{{80,7}},3}, {{{0,8}},82}, {{{0,8}},18}, {{{85,8}},163},
++ {{{83,7}},35}, {{{0,8}},114}, {{{0,8}},50}, {{{0,9}},197},
++ {{{81,7}},11}, {{{0,8}},98}, {{{0,8}},34}, {{{0,9}},165},
++ {{{0,8}},2}, {{{0,8}},130}, {{{0,8}},66}, {{{0,9}},229},
++ {{{80,7}},7}, {{{0,8}},90}, {{{0,8}},26}, {{{0,9}},149},
++ {{{84,7}},67}, {{{0,8}},122}, {{{0,8}},58}, {{{0,9}},213},
++ {{{82,7}},19}, {{{0,8}},106}, {{{0,8}},42}, {{{0,9}},181},
++ {{{0,8}},10}, {{{0,8}},138}, {{{0,8}},74}, {{{0,9}},245},
++ {{{80,7}},5}, {{{0,8}},86}, {{{0,8}},22}, {{{192,8}},0},
++ {{{83,7}},51}, {{{0,8}},118}, {{{0,8}},54}, {{{0,9}},205},
++ {{{81,7}},15}, {{{0,8}},102}, {{{0,8}},38}, {{{0,9}},173},
++ {{{0,8}},6}, {{{0,8}},134}, {{{0,8}},70}, {{{0,9}},237},
++ {{{80,7}},9}, {{{0,8}},94}, {{{0,8}},30}, {{{0,9}},157},
++ {{{84,7}},99}, {{{0,8}},126}, {{{0,8}},62}, {{{0,9}},221},
++ {{{82,7}},27}, {{{0,8}},110}, {{{0,8}},46}, {{{0,9}},189},
++ {{{0,8}},14}, {{{0,8}},142}, {{{0,8}},78}, {{{0,9}},253},
++ {{{96,7}},256}, {{{0,8}},81}, {{{0,8}},17}, {{{85,8}},131},
++ {{{82,7}},31}, {{{0,8}},113}, {{{0,8}},49}, {{{0,9}},195},
++ {{{80,7}},10}, {{{0,8}},97}, {{{0,8}},33}, {{{0,9}},163},
++ {{{0,8}},1}, {{{0,8}},129}, {{{0,8}},65}, {{{0,9}},227},
++ {{{80,7}},6}, {{{0,8}},89}, {{{0,8}},25}, {{{0,9}},147},
++ {{{83,7}},59}, {{{0,8}},121}, {{{0,8}},57}, {{{0,9}},211},
++ {{{81,7}},17}, {{{0,8}},105}, {{{0,8}},41}, {{{0,9}},179},
++ {{{0,8}},9}, {{{0,8}},137}, {{{0,8}},73}, {{{0,9}},243},
++ {{{80,7}},4}, {{{0,8}},85}, {{{0,8}},21}, {{{80,8}},258},
++ {{{83,7}},43}, {{{0,8}},117}, {{{0,8}},53}, {{{0,9}},203},
++ {{{81,7}},13}, {{{0,8}},101}, {{{0,8}},37}, {{{0,9}},171},
++ {{{0,8}},5}, {{{0,8}},133}, {{{0,8}},69}, {{{0,9}},235},
++ {{{80,7}},8}, {{{0,8}},93}, {{{0,8}},29}, {{{0,9}},155},
++ {{{84,7}},83}, {{{0,8}},125}, {{{0,8}},61}, {{{0,9}},219},
++ {{{82,7}},23}, {{{0,8}},109}, {{{0,8}},45}, {{{0,9}},187},
++ {{{0,8}},13}, {{{0,8}},141}, {{{0,8}},77}, {{{0,9}},251},
++ {{{80,7}},3}, {{{0,8}},83}, {{{0,8}},19}, {{{85,8}},195},
++ {{{83,7}},35}, {{{0,8}},115}, {{{0,8}},51}, {{{0,9}},199},
++ {{{81,7}},11}, {{{0,8}},99}, {{{0,8}},35}, {{{0,9}},167},
++ {{{0,8}},3}, {{{0,8}},131}, {{{0,8}},67}, {{{0,9}},231},
++ {{{80,7}},7}, {{{0,8}},91}, {{{0,8}},27}, {{{0,9}},151},
++ {{{84,7}},67}, {{{0,8}},123}, {{{0,8}},59}, {{{0,9}},215},
++ {{{82,7}},19}, {{{0,8}},107}, {{{0,8}},43}, {{{0,9}},183},
++ {{{0,8}},11}, {{{0,8}},139}, {{{0,8}},75}, {{{0,9}},247},
++ {{{80,7}},5}, {{{0,8}},87}, {{{0,8}},23}, {{{192,8}},0},
++ {{{83,7}},51}, {{{0,8}},119}, {{{0,8}},55}, {{{0,9}},207},
++ {{{81,7}},15}, {{{0,8}},103}, {{{0,8}},39}, {{{0,9}},175},
++ {{{0,8}},7}, {{{0,8}},135}, {{{0,8}},71}, {{{0,9}},239},
++ {{{80,7}},9}, {{{0,8}},95}, {{{0,8}},31}, {{{0,9}},159},
++ {{{84,7}},99}, {{{0,8}},127}, {{{0,8}},63}, {{{0,9}},223},
++ {{{82,7}},27}, {{{0,8}},111}, {{{0,8}},47}, {{{0,9}},191},
++ {{{0,8}},15}, {{{0,8}},143}, {{{0,8}},79}, {{{0,9}},255}
+ };
+ local inflate_huft fixed_td[] = {
+- {{80,5},1}, {{87,5},257}, {{83,5},17}, {{91,5},4097}, {{81,5},5},
+- {{89,5},1025}, {{85,5},65}, {{93,5},16385}, {{80,5},3}, {{88,5},513},
+- {{84,5},33}, {{92,5},8193}, {{82,5},9}, {{90,5},2049}, {{86,5},129},
+- {{192,5},24577}, {{80,5},2}, {{87,5},385}, {{83,5},25}, {{91,5},6145},
+- {{81,5},7}, {{89,5},1537}, {{85,5},97}, {{93,5},24577}, {{80,5},4},
+- {{88,5},769}, {{84,5},49}, {{92,5},12289}, {{82,5},13}, {{90,5},3073},
+- {{86,5},193}, {{192,5},24577}
++ {{{80,5}},1}, {{{87,5}},257}, {{{83,5}},17}, {{{91,5}},4097},
++ {{{81,5}},5}, {{{89,5}},1025}, {{{85,5}},65}, {{{93,5}},16385},
++ {{{80,5}},3}, {{{88,5}},513}, {{{84,5}},33}, {{{92,5}},8193},
++ {{{82,5}},9}, {{{90,5}},2049}, {{{86,5}},129}, {{{192,5}},24577},
++ {{{80,5}},2}, {{{87,5}},385}, {{{83,5}},25}, {{{91,5}},6145},
++ {{{81,5}},7}, {{{89,5}},1537}, {{{85,5}},97}, {{{93,5}},24577},
++ {{{80,5}},4}, {{{88,5}},769}, {{{84,5}},49}, {{{92,5}},12289},
++ {{{82,5}},13}, {{{90,5}},3073}, {{{86,5}},193}, {{{192,5}},24577}
+ };
+diff -ru2 ../zlib-1.1.2/inftrees.c ./inftrees.c
+--- ../zlib-1.1.2/inftrees.c Thu Mar 19 06:48:02 1998
++++ ./zlib/inftrees.c Thu Jul 9 09:06:30 1998
+@@ -12,5 +12,5 @@
+
+ const char inflate_copyright[] =
+- " inflate 1.1.2 Copyright 1995-1998 Mark Adler ";
++ " inflate 1.1.3 Copyright 1995-1998 Mark Adler ";
+ /*
+ If you use the zlib library in a product, an acknowledgment is welcome
+diff -ru2 ../zlib-1.1.2/trees.c ./trees.c
+--- ../zlib-1.1.2/trees.c Fri Feb 27 12:10:24 1998
++++ ./zlib/trees.c Wed Jul 8 09:32:57 1998
+@@ -251,4 +251,11 @@
+ if (static_init_done) return;
+
++ /* For some embedded targets, global variables are not initialized: */
++ static_l_desc.static_tree = static_ltree;
++ static_l_desc.extra_bits = extra_lbits;
++ static_d_desc.static_tree = static_dtree;
++ static_d_desc.extra_bits = extra_dbits;
++ static_bl_desc.extra_bits = extra_blbits;
++
+ /* Initialize the mapping length (0..255) -> length code (0..28) */
+ length = 0;
+@@ -379,6 +386,4 @@
+ tr_static_init();
+
+- s->compressed_len = 0L;
+-
+ s->l_desc.dyn_tree = s->dyn_ltree;
+ s->l_desc.stat_desc = &static_l_desc;
+@@ -394,4 +399,5 @@
+ s->last_eob_len = 8; /* enough lookahead for inflate */
+ #ifdef DEBUG
++ s->compressed_len = 0L;
+ s->bits_sent = 0L;
+ #endif
+@@ -866,7 +872,8 @@
+ {
+ send_bits(s, (STORED_BLOCK<<1)+eof, 3); /* send block type */
++#ifdef DEBUG
+ s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
+ s->compressed_len += (stored_len + 4) << 3;
+-
++#endif
+ copy_block(s, buf, (unsigned)stored_len, 1); /* with header */
+ }
+@@ -888,5 +895,7 @@
+ send_bits(s, STATIC_TREES<<1, 3);
+ send_code(s, END_BLOCK, static_ltree);
++#ifdef DEBUG
+ s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
++#endif
+ bi_flush(s);
+ /* Of the 10 bits for the empty block, we have already sent
+@@ -898,5 +907,7 @@
+ send_bits(s, STATIC_TREES<<1, 3);
+ send_code(s, END_BLOCK, static_ltree);
++#ifdef DEBUG
+ s->compressed_len += 10L;
++#endif
+ bi_flush(s);
+ }
+@@ -906,8 +917,7 @@
+ /* ===========================================================================
+ * Determine the best encoding for the current block: dynamic trees, static
+- * trees or store, and output the encoded block to the zip file. This function
+- * returns the total compressed length for the file so far.
++ * trees or store, and output the encoded block to the zip file.
+ */
+-ulg _tr_flush_block(s, buf, stored_len, eof)
++void _tr_flush_block(s, buf, stored_len, eof)
+ deflate_state *s;
+ charf *buf; /* input block, or NULL if too old */
+@@ -956,23 +966,4 @@
+ }
+
+- /* If compression failed and this is the first and last block,
+- * and if the .zip file can be seeked (to rewrite the local header),
+- * the whole file is transformed into a stored file:
+- */
+-#ifdef STORED_FILE_OK
+-# ifdef FORCE_STORED_FILE
+- if (eof && s->compressed_len == 0L) { /* force stored file */
+-# else
+- if (stored_len <= opt_lenb && eof && s->compressed_len==0L && seekable()) {
+-# endif
+- /* Since LIT_BUFSIZE <= 2*WSIZE, the input data must be there: */
+- if (buf == (charf*)0) error ("block vanished");
+-
+- copy_block(buf, (unsigned)stored_len, 0); /* without header */
+- s->compressed_len = stored_len << 3;
+- s->method = STORED;
+- } else
+-#endif /* STORED_FILE_OK */
+-
+ #ifdef FORCE_STORED
+ if (buf != (char*)0) { /* force stored block */
+@@ -996,5 +987,7 @@
+ send_bits(s, (STATIC_TREES<<1)+eof, 3);
+ compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree);
++#ifdef DEBUG
+ s->compressed_len += 3 + s->static_len;
++#endif
+ } else {
+ send_bits(s, (DYN_TREES<<1)+eof, 3);
+@@ -1002,17 +995,22 @@
+ max_blindex+1);
+ compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree);
++#ifdef DEBUG
+ s->compressed_len += 3 + s->opt_len;
++#endif
+ }
+ Assert (s->compressed_len == s->bits_sent, "bad compressed size");
++ /* The above check is made mod 2^32, for files larger than 512 MB
++ * and uLong implemented on 32 bits.
++ */
+ init_block(s);
+
+ if (eof) {
+ bi_windup(s);
++#ifdef DEBUG
+ s->compressed_len += 7; /* align on byte boundary */
++#endif
+ }
+ Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3,
+ s->compressed_len-7*eof));
+-
+- return s->compressed_len >> 3;
+ }
+
+diff -ru2 ../zlib-1.1.2/zconf.h ./zconf.h
+--- ../zlib-1.1.2/zconf.h Mon Feb 2 06:24:39 1998
++++ ./zlib/zconf.h Wed Jul 8 10:55:27 1998
+@@ -92,6 +92,6 @@
+ #endif
+
+-/* Borland C incorrectly complains about missing returns: */
+-#if defined(__BORLANDC__)
++/* Old Borland C incorrectly complains about missing returns: */
++#if defined(__BORLANDC__) && (__BORLANDC__ < 0x500)
+ # define NEED_DUMMY_RETURN
+ #endif
+@@ -149,5 +149,5 @@
+ # define SMALL_MEDIUM
+ # ifdef _MSC_VER
+-# define FAR __far
++# define FAR _far
+ # else
+ # define FAR far
+@@ -157,28 +157,52 @@
+ # ifndef __32BIT__
+ # define SMALL_MEDIUM
+-# define FAR __far
++# define FAR _far
+ # endif
+ #endif
+
+ /* Compile with -DZLIB_DLL for Windows DLL support */
+-#if (defined(_WINDOWS) || defined(WINDOWS)) && defined(ZLIB_DLL)
+-# ifdef FAR
+-# undef FAR
+-# endif
+-# include <windows.h>
+-# define ZEXPORT WINAPI
+-# ifdef WIN32
+-# define ZEXPORTVA WINAPIV
++#if defined(ZLIB_DLL)
++# if defined(_WINDOWS) || defined(WINDOWS)
++# ifdef FAR
++# undef FAR
++# endif
++# include <windows.h>
++# define ZEXPORT WINAPI
++# ifdef WIN32
++# define ZEXPORTVA WINAPIV
++# else
++# define ZEXPORTVA FAR _cdecl _export
++# endif
++# endif
++# if defined (__BORLANDC__)
++# if (__BORLANDC__ >= 0x0500) && defined (WIN32)
++# include <windows.h>
++# define ZEXPORT __declspec(dllexport) WINAPI
++# define ZEXPORTRVA __declspec(dllexport) WINAPIV
++# else
++# if defined (_Windows) && defined (__DLL__)
++# define ZEXPORT _export
++# define ZEXPORTVA _export
++# endif
++# endif
++# endif
++#endif
++
++#if defined (__BEOS__)
++# if defined (ZLIB_DLL)
++# define ZEXTERN extern __declspec(dllexport)
+ # else
+-# define ZEXPORTVA FAR _cdecl _export
++# define ZEXTERN extern __declspec(dllimport)
+ # endif
+-#else
+-# if defined (__BORLANDC__) && defined (_Windows) && defined (__DLL__)
+-# define ZEXPORT _export
+-# define ZEXPORTVA _export
+-# else
+-# define ZEXPORT
+-# define ZEXPORTVA
+-# endif
++#endif
++
++#ifndef ZEXPORT
++# define ZEXPORT
++#endif
++#ifndef ZEXPORTVA
++# define ZEXPORTVA
++#endif
++#ifndef ZEXTERN
++# define ZEXTERN extern
+ #endif
+
+@@ -187,10 +211,12 @@
+ #endif
+
++#if !defined(MACOS) && !defined(TARGET_OS_MAC)
+ typedef unsigned char Byte; /* 8 bits */
++#endif
+ typedef unsigned int uInt; /* 16 bits or more */
+ typedef unsigned long uLong; /* 32 bits or more */
+
+-#if defined(__BORLANDC__) && defined(SMALL_MEDIUM)
+- /* Borland C/C++ ignores FAR inside typedef */
++#ifdef SMALL_MEDIUM
++ /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
+ # define Bytef Byte FAR
+ #else
+@@ -218,4 +244,5 @@
+ # 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
+diff -ru2 ../zlib-1.1.2/zlib.h ./zlib.h
+--- ../zlib-1.1.2/zlib.h Thu Mar 19 06:46:53 1998
++++ ./zlib/zlib.h Thu Jul 9 09:06:56 1998
+@@ -1,4 +1,4 @@
+ /* zlib.h -- interface of the 'zlib' general purpose compression library
+- version 1.1.2, March 19th, 1998
++ version 1.1.3, July 9th, 1998
+
+ Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler
+@@ -38,5 +38,5 @@
+ #endif
+
+-#define ZLIB_VERSION "1.1.2"
++#define ZLIB_VERSION "1.1.3"
+
+ /*
+@@ -169,5 +169,5 @@
+ /* basic functions */
+
+-extern const char * ZEXPORT zlibVersion OF((void));
++ZEXTERN const char * ZEXPORT zlibVersion OF((void));
+ /* The application can compare zlibVersion and ZLIB_VERSION for consistency.
+ If the first character differs, the library code actually used is
+@@ -177,5 +177,5 @@
+
+ /*
+-extern int ZEXPORT deflateInit OF((z_streamp strm, int level));
++ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
+
+ Initializes the internal stream state for compression. The fields
+@@ -199,5 +199,5 @@
+
+
+-extern int ZEXPORT deflate OF((z_streamp strm, int flush));
++ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
+ /*
+ deflate compresses as much data as possible, and stops when the input
+@@ -272,9 +272,10 @@
+ consumed and all output has been produced (only when flush is set to
+ Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
+- if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible.
++ if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible
++ (for example avail_in or avail_out was zero).
+ */
+
+
+-extern int ZEXPORT deflateEnd OF((z_streamp strm));
++ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
+ /*
+ All dynamically allocated data structures for this stream are freed.
+@@ -291,5 +292,5 @@
+
+ /*
+-extern int ZEXPORT inflateInit OF((z_streamp strm));
++ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
+
+ Initializes the internal stream state for decompression. The fields
+@@ -311,5 +312,5 @@
+
+
+-extern int ZEXPORT inflate OF((z_streamp strm, int flush));
++ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
+ /*
+ inflate decompresses as much data as possible, and stops when the input
+@@ -380,5 +381,5 @@
+
+
+-extern int ZEXPORT inflateEnd OF((z_streamp strm));
++ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
+ /*
+ All dynamically allocated data structures for this stream are freed.
+@@ -398,10 +399,10 @@
+
+ /*
+-extern int ZEXPORT deflateInit2 OF((z_streamp strm,
+- int level,
+- int method,
+- int windowBits,
+- int memLevel,
+- int strategy));
++ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
++ int level,
++ int method,
++ int windowBits,
++ int memLevel,
++ int strategy));
+
+ This is another version of deflateInit with more compression options. The
+@@ -441,12 +442,12 @@
+ */
+
+-extern int ZEXPORT deflateSetDictionary OF((z_streamp strm,
+- const Bytef *dictionary,
+- uInt dictLength));
++ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
++ const Bytef *dictionary,
++ uInt dictLength));
+ /*
+ Initializes the compression dictionary from the given byte sequence
+ without producing any compressed output. This function must be called
+- immediately after deflateInit or deflateInit2, before any call of
+- deflate. The compressor and decompressor must use exactly the same
++ immediately after deflateInit, deflateInit2 or deflateReset, before any
++ call of deflate. The compressor and decompressor must use exactly the same
+ dictionary (see inflateSetDictionary).
+
+@@ -477,6 +478,6 @@
+ */
+
+-extern int ZEXPORT deflateCopy OF((z_streamp dest,
+- z_streamp source));
++ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
++ z_streamp source));
+ /*
+ Sets the destination stream as a complete copy of the source stream.
+@@ -495,5 +496,5 @@
+ */
+
+-extern int ZEXPORT deflateReset OF((z_streamp strm));
++ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
+ /*
+ This function is equivalent to deflateEnd followed by deflateInit,
+@@ -506,5 +507,7 @@
+ */
+
+-extern int ZEXPORT deflateParams OF((z_streamp strm, int level, int strategy));
++ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
++ int level,
++ int strategy));
+ /*
+ Dynamically update the compression level and compression strategy. The
+@@ -526,6 +529,6 @@
+
+ /*
+-extern int ZEXPORT inflateInit2 OF((z_streamp strm,
+- int windowBits));
++ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
++ int windowBits));
+
+ This is another version of inflateInit with an extra parameter. The
+@@ -548,7 +551,7 @@
+ */
+
+-extern int ZEXPORT inflateSetDictionary OF((z_streamp strm,
+- const Bytef *dictionary,
+- uInt dictLength));
++ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
++ const Bytef *dictionary,
++ uInt dictLength));
+ /*
+ Initializes the decompression dictionary from the given uncompressed byte
+@@ -567,5 +570,5 @@
+ */
+
+-extern int ZEXPORT inflateSync OF((z_streamp strm));
++ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
+ /*
+ Skips invalid compressed data until a full flush point (see above the
+@@ -582,5 +585,5 @@
+ */
+
+-extern int ZEXPORT inflateReset OF((z_streamp strm));
++ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
+ /*
+ This function is equivalent to inflateEnd followed by inflateInit,
+@@ -603,6 +606,6 @@
+ */
+
+-extern int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
+- const Bytef *source, uLong sourceLen));
++ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
++ const Bytef *source, uLong sourceLen));
+ /*
+ Compresses the source buffer into the destination buffer. sourceLen is
+@@ -618,7 +621,7 @@
+ */
+
+-extern int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
+- const Bytef *source, uLong sourceLen,
+- int level));
++ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
++ const Bytef *source, uLong sourceLen,
++ int level));
+ /*
+ Compresses the source buffer into the destination buffer. The level
+@@ -633,6 +636,6 @@
+ */
+
+-extern int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
+- const Bytef *source, uLong sourceLen));
++ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
++ const Bytef *source, uLong sourceLen));
+ /*
+ Decompresses the source buffer into the destination buffer. sourceLen is
+@@ -654,5 +657,5 @@
+ typedef voidp gzFile;
+
+-extern gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
++ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
+ /*
+ Opens a gzip (.gz) file for reading or writing. The mode parameter
+@@ -670,5 +673,5 @@
+ zlib error is Z_MEM_ERROR). */
+
+-extern gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
++ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
+ /*
+ gzdopen() associates a gzFile with the file descriptor fd. File
+@@ -683,5 +686,5 @@
+ */
+
+-extern int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
++ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
+ /*
+ Dynamically update the compression level or strategy. See the description
+@@ -691,5 +694,5 @@
+ */
+
+-extern int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
++ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
+ /*
+ Reads the given number of uncompressed bytes from the compressed file.
+@@ -699,5 +702,6 @@
+ end of file, -1 for error). */
+
+-extern int ZEXPORT gzwrite OF((gzFile file, const voidp buf, unsigned len));
++ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
++ const voidp buf, unsigned len));
+ /*
+ Writes the given number of uncompressed bytes into the compressed file.
+@@ -706,5 +710,5 @@
+ */
+
+-extern int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
++ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
+ /*
+ Converts, formats, and writes the args to the compressed file under
+@@ -713,5 +717,5 @@
+ */
+
+-extern int ZEXPORT gzputs OF((gzFile file, const char *s));
++ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
+ /*
+ Writes the given null-terminated string to the compressed file, excluding
+@@ -720,5 +724,5 @@
+ */
+
+-extern char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
++ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
+ /*
+ Reads bytes from the compressed file until len-1 characters are read, or
+@@ -729,5 +733,5 @@
+ */
+
+-extern int ZEXPORT gzputc OF((gzFile file, int c));
++ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
+ /*
+ Writes c, converted to an unsigned char, into the compressed file.
+@@ -735,5 +739,5 @@
+ */
+
+-extern int ZEXPORT gzgetc OF((gzFile file));
++ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
+ /*
+ Reads one byte from the compressed file. gzgetc returns this byte
+@@ -741,5 +745,5 @@
+ */
+
+-extern int ZEXPORT gzflush OF((gzFile file, int flush));
++ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
+ /*
+ Flushes all pending output into the compressed file. The parameter
+@@ -751,8 +755,9 @@
+ */
+
+-extern z_off_t ZEXPORT gzseek OF((gzFile file, z_off_t offset, int whence));
++ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
++ z_off_t offset, int whence));
+ /*
+- Sets the starting position for the next gzread or gzwrite on the given
+- compressed file. The offset represents a number of bytes in the
++ Sets the starting position for the next gzread or gzwrite on the
++ given compressed file. The offset represents a number of bytes in the
+ uncompressed data stream. The whence parameter is defined as in lseek(2);
+ the value SEEK_END is not supported.
+@@ -768,5 +773,5 @@
+ */
+
+-extern int ZEXPORT gzrewind OF((gzFile file));
++ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
+ /*
+ Rewinds the given file. This function is supported only for reading.
+@@ -775,5 +780,5 @@
+ */
+
+-extern z_off_t ZEXPORT gztell OF((gzFile file));
++ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
+ /*
+ Returns the starting position for the next gzread or gzwrite on the
+@@ -784,5 +789,5 @@
+ */
+
+-extern int ZEXPORT gzeof OF((gzFile file));
++ZEXTERN int ZEXPORT gzeof OF((gzFile file));
+ /*
+ Returns 1 when EOF has previously been detected reading the given
+@@ -790,5 +795,5 @@
+ */
+
+-extern int ZEXPORT gzclose OF((gzFile file));
++ZEXTERN int ZEXPORT gzclose OF((gzFile file));
+ /*
+ Flushes all pending output if necessary, closes the compressed file
+@@ -797,5 +802,5 @@
+ */
+
+-extern const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
++ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
+ /*
+ Returns the error message for the last error which occurred on the
+@@ -814,5 +819,5 @@
+ */
+
+-extern uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
++ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
+
+ /*
+@@ -831,5 +836,5 @@
+ */
+
+-extern uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
++ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
+ /*
+ Update a running crc with the bytes buf[0..len-1] and return the updated
+@@ -853,14 +858,14 @@
+ * and the compiler's view of z_stream:
+ */
+-extern int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
+- const char *version, int stream_size));
+-extern int ZEXPORT inflateInit_ OF((z_streamp strm,
+- const char *version, int stream_size));
+-extern int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
+- int windowBits, int memLevel,
+- int strategy, const char *version,
+- int stream_size));
+-extern int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
++ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
+ const char *version, int stream_size));
++ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
++ const char *version, int stream_size));
++ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
++ int windowBits, int memLevel,
++ int strategy, const char *version,
++ int stream_size));
++ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
++ const char *version, int stream_size));
+ #define deflateInit(strm, level) \
+ deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
+@@ -878,7 +883,7 @@
+ #endif
+
+-extern const char * ZEXPORT zError OF((int err));
+-extern int ZEXPORT inflateSyncPoint OF((z_streamp z));
+-extern const uLongf * ZEXPORT get_crc_table OF((void));
++ZEXTERN const char * ZEXPORT zError OF((int err));
++ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
++ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
+
+ #ifdef __cplusplus
+diff -ru2 ../zlib-1.1.2/zutil.c ./zutil.c
+--- ../zlib-1.1.2/zutil.c Mon Feb 2 06:12:37 1998
++++ ./zlib/zutil.c Wed Jul 8 10:01:47 1998
+@@ -61,5 +61,5 @@
+ void zmemcpy(dest, source, len)
+ Bytef* dest;
+- Bytef* source;
++ const Bytef* source;
+ uInt len;
+ {
+@@ -71,6 +71,6 @@
+
+ int zmemcmp(s1, s2, len)
+- Bytef* s1;
+- Bytef* s2;
++ const Bytef* s1;
++ const Bytef* s2;
+ uInt len;
+ {
+@@ -179,5 +179,5 @@
+ # define MY_ZCALLOC
+
+-#if (!defined(_MSC_VER) || (_MSC_VER < 600))
++#if (!defined(_MSC_VER) || (_MSC_VER <= 600))
+ # define _halloc halloc
+ # define _hfree hfree
+diff -ru2 ../zlib-1.1.2/zutil.h ./zutil.h
+--- ../zlib-1.1.2/zutil.h Mon Feb 2 06:12:37 1998
++++ ./zlib/zutil.h Wed Jul 8 10:01:48 1998
+@@ -76,5 +76,5 @@
+ #ifdef MSDOS
+ # define OS_CODE 0x00
+-# ifdef __TURBOC__
++# if defined(__TURBOC__) || defined(__BORLANDC__)
+ # if(__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
+ /* Allow compilation with ANSI keywords only enabled */
+@@ -113,11 +113,10 @@
+ #if defined(MACOS) || defined(TARGET_OS_MAC)
+ # define OS_CODE 0x07
+-# ifndef fdopen
+-# define fdopen(fd,mode) NULL /* No fdopen() */
+-# endif
+-#endif
+-#if defined(__MWERKS__) && !defined(fdopen)
+-# if __dest_os != __be_os && __dest_os != __win32_os
+-# define fdopen(fd,mode) NULL
++# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
++# include <unix.h> /* for fdopen */
++# else
++# ifndef fdopen
++# define fdopen(fd,mode) NULL /* No fdopen() */
++# endif
+ # endif
+ #endif
+@@ -135,5 +134,5 @@
+ #endif
+
+-#if (defined(_MSC_VER) && (_MSC_VER >= 600))
++#if (defined(_MSC_VER) && (_MSC_VER > 600))
+ # define fdopen(fd,type) _fdopen(fd,type)
+ #endif
+@@ -183,6 +182,6 @@
+ # endif
+ #else
+- extern void zmemcpy OF((Bytef* dest, Bytef* source, uInt len));
+- extern int zmemcmp OF((Bytef* s1, Bytef* s2, uInt len));
++ extern void zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
++ extern int zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
+ extern void zmemzero OF((Bytef* dest, uInt len));
+ #endif