changeset 1369:c92d7972c02c

* tests/zlib[12].c: Modified the text to the gcc3.3 friendly. * Upgrade to zlib 1.1.4 and additional fix for inflate bug on machines with 16-bit pointers.
author asl
date Thu, 20 Nov 2003 09:28:06 +0000
parents 7a48ba3056e6
children b83338d7c212
files packages/services/compress/zlib/current/ChangeLog packages/services/compress/zlib/current/include/zconf.h packages/services/compress/zlib/current/include/zlib.h packages/services/compress/zlib/current/src/ChangeLog packages/services/compress/zlib/current/src/FAQ packages/services/compress/zlib/current/src/Makefile packages/services/compress/zlib/current/src/Makefile.in packages/services/compress/zlib/current/src/README packages/services/compress/zlib/current/src/adler32.c packages/services/compress/zlib/current/src/compress.c packages/services/compress/zlib/current/src/deflate.c packages/services/compress/zlib/current/src/deflate.h packages/services/compress/zlib/current/src/example.c packages/services/compress/zlib/current/src/gzio.c packages/services/compress/zlib/current/src/infblock.c packages/services/compress/zlib/current/src/infblock.h packages/services/compress/zlib/current/src/infcodes.c packages/services/compress/zlib/current/src/infcodes.h packages/services/compress/zlib/current/src/inffast.c packages/services/compress/zlib/current/src/inffast.h packages/services/compress/zlib/current/src/inflate.c packages/services/compress/zlib/current/src/inftrees.c packages/services/compress/zlib/current/src/inftrees.h packages/services/compress/zlib/current/src/infutil.c packages/services/compress/zlib/current/src/infutil.h packages/services/compress/zlib/current/src/maketree.c packages/services/compress/zlib/current/src/minigzip.c packages/services/compress/zlib/current/src/trees.c packages/services/compress/zlib/current/src/uncompr.c packages/services/compress/zlib/current/src/zlib.3 packages/services/compress/zlib/current/src/zutil.c packages/services/compress/zlib/current/src/zutil.h packages/services/compress/zlib/current/tests/zlib1.c packages/services/compress/zlib/current/tests/zlib2.c
diffstat 34 files changed, 372 insertions(+), 320 deletions(-) [+]
line wrap: on
line diff
--- a/packages/services/compress/zlib/current/ChangeLog
+++ b/packages/services/compress/zlib/current/ChangeLog
@@ -1,3 +1,12 @@
+2003-11-20  Andrew Lunn  <andrew.lunn@ascom.ch>
+
+	* tests/zlib[12].c: Modified the text to the gcc3.3 friendly.
+
+2003-11-13  Daniel Néri  <daniel.neri@sigicom.se>
+
+        * Upgrade to zlib 1.1.4 and additional fix for inflate bug on
+        machines with 16-bit pointers.
+
 2003-09-08  Thomas Koeller  <thomas.koeller@baslerweb.com>
 
 	* cdl/compress_zlib.cdl : Displayed package name was wrong.
--- a/packages/services/compress/zlib/current/include/zconf.h
+++ b/packages/services/compress/zlib/current/include/zconf.h
@@ -1,5 +1,5 @@
 /* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-1998 Jean-loup Gailly.
+ * Copyright (C) 1995-2002 Jean-loup Gailly.
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/include/zlib.h
+++ b/packages/services/compress/zlib/current/include/zlib.h
@@ -1,7 +1,7 @@
 /* zlib.h -- interface of the 'zlib' general purpose compression library
-  version 1.1.3, July 9th, 1998
+  version 1.1.4, March 11th, 2002
 
-  Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler
+  Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler
 
   This software is provided 'as-is', without any express or implied
   warranty.  In no event will the authors be held liable for any damages
@@ -37,7 +37,7 @@
 extern "C" {
 #endif
 
-#define ZLIB_VERSION "1.1.3"
+#define ZLIB_VERSION "1.1.4"
 
 /* 
      The 'zlib' compression library provides in-memory compression and
@@ -637,7 +637,6 @@ ZEXTERN int ZEXPORT compress2 OF((Bytef 
 
 ZEXTERN int ZEXPORT uncompress OF((Bytef *dest,   uLongf *destLen,
                                    const Bytef *source, uLong sourceLen));
-
 /*
      Decompresses the source buffer into the destination buffer.  sourceLen is
    the byte length of the source buffer. Upon entry, destLen is the total
@@ -854,6 +853,7 @@ ZEXTERN uLong ZEXPORT crc32   OF((uLong 
      if (crc != original_crc) error();
 */
 
+
                         /* various hacks, don't look :) */
 
 /* deflateInit and inflateInit are macros to allow checking the zlib version
--- a/packages/services/compress/zlib/current/src/ChangeLog
+++ b/packages/services/compress/zlib/current/src/ChangeLog
@@ -1,6 +1,16 @@
 
 		ChangeLog file for zlib
 
+Changes in 1.1.4 (11 March 2002)
+- ZFREE was repeated on same allocation on some error conditions.
+  This creates a security problem described in
+  http://www.zlib.org/advisory-2002-03-11.txt
+- Returned incorrect error (Z_MEM_ERROR) on some invalid data
+- Avoid accesses before window for invalid distances with inflate window
+  less than 32K.
+- force windowBits > 8 to avoid a bug in the encoder for a window size
+  of 256 bytes. (A complete fix will be available in 1.1.5).
+	
 Changes in 1.1.3 (9 July 1998)
 - fix "an inflate input buffer bug that shows up on rare but persistent
   occasions" (Mark)
--- a/packages/services/compress/zlib/current/src/FAQ
+++ b/packages/services/compress/zlib/current/src/FAQ
@@ -3,70 +3,98 @@
 
 
 If your question is not there, please check the zlib home page 
-http://www.cdrom.com/pub/infozip/zlib/ which may have more recent information.
-
-
-1) I need a Windows DLL
-2) I need a Visual Basic interface to zlib
-3) compress() returns Z_BUF_ERROR
-4) deflate or inflate returns Z_BUF_ERROR
-5) Where is the zlib documentation (man pages, etc...)?
-6) Why don't you use GNU autoconf, libtool, etc...?
-7) There is a bug in zlib.
-8) I get "undefined reference to gzputc"
-
-
-
-1) I need a Windows DLL
-
-  The zlib sources can be compiled without change to produce a DLL.
-  If you want a precompiled DLL, see http://www.winimage.com/zLibDll
-
-
-2) I need a Visual Basic interface to zlib
-
-  See http://www.tcfb.com/dowseware/cmp-z-it.zip
-      http://web2.airmail.net/markn/articles/zlibtool/zlibtool.htm
-  and contrib/visual-basic.txt
-
-3) compress() returns Z_BUF_ERROR
-
-  Make sure that before the call of compress, the length of the
-  compressed buffer is equal to the total size of the compressed buffer
-  and not zero.  For Visual Basic, check that this parameter is passed
-  by reference ("as any"), not by value ("as long").
+http://www.zlib.org which may have more recent information.
+The lastest zlib FAQ is at http://www.gzip.org/zlib/zlib_faq.html
 
 
-4) deflate or inflate returns Z_BUF_ERROR
+ 1. Is zlib Y2K-compliant?
+
+    Yes. zlib doesn't handle dates.
+
+ 2. Where can I get a Windows DLL version?
 
-  Make sure that before the call avail_in and avail_out are not zero.
+    The zlib sources can be compiled without change to produce a DLL. If you
+    want a precompiled DLL, see http://www.winimage.com/zLibDll/ . Questions
+    about the zlib DLL should be sent to Gilles Vollant (info@winimage.com).
+
+ 3. Where can I get a Visual Basic interface to zlib?
 
+    See
+        * http://www.winimage.com/zLibDll/cmp-z-it.zip
+        * http://www.dogma.net/markn/articles/zlibtool/zlibtool.htm
+        * contrib/visual-basic.txt in the zlib distribution
 
-5) Where is the zlib documentation (man pages, etc...)?
+ 4. compress() returns Z_BUF_ERROR
 
-  It's in zlib.h for the moment. Volunteers to transform this
-  to man pages, please contact jloup@gzip.org. Examples of zlib usage
-  are in the files example.c and minigzip.c.
+    Make sure that before the call of compress, the length of the compressed
+    buffer is equal to the total size of the compressed buffer and not
+    zero. For Visual Basic, check that this parameter is passed by reference
+    ("as any"), not by value ("as long").
 
+ 5. deflate() or inflate() returns Z_BUF_ERROR
+
+    Before making the call, make sure that avail_in and avail_out are not
+    zero. When setting the parameter flush equal to Z_FINISH, also make sure
+    that avail_out is big enough to allow processing all pending input.
 
-6) Why don't you use GNU autoconf, libtool, etc...?
+ 6. Where's the zlib documentation (man pages, etc.)?
+
+    It's in zlib.h for the moment, and Francis S. Lin has converted it to a
+    web page zlib.html. Volunteers to transform this to Unix-style man pages,
+    please contact Jean-loup Gailly (jloup@gzip.org). Examples of zlib usage
+    are in the files example.c and minigzip.c.
 
-  Because we would like to keep zlib as a very small and simple package.
-  zlib is rather portable and doesn't need much configuration.
+ 7. Why don't you use GNU autoconf or libtool or ...?
+
+    Because we would like to keep zlib as a very small and simple
+    package. zlib is rather portable and doesn't need much configuration.
+
+ 8. I found a bug in zlib.
 
+    Most of the time, such problems are due to an incorrect usage of
+    zlib. Please try to reproduce the problem with a small program and send
+    the corresponding source to us at zlib@gzip.org . Do not send
+    multi-megabyte data files without prior agreement.
 
-7) There is a bug in zlib.
+ 9. Why do I get "undefined reference to gzputc"?
+
+    If "make test" produces something like
 
-  Most of the time, such problems are due to an incorrect usage
-  of zlib. Please try to reproduce the problem with a small
-  program and send us the corresponding source at zlib@quest.jpl.nasa.gov
-  Do not send multi-megabyte data files without prior agreement.
+       example.o(.text+0x154): undefined reference to `gzputc'
+      
+    check that you don't have old files libz.* in /usr/lib, /usr/local/lib or
+    /usr/X11R6/lib. Remove any old versions, then do "make install".
+
+10. I need a Delphi interface to zlib.
+
+    See the directories contrib/delphi and contrib/delphi2 in the zlib
+    distribution.
+
+11. Can zlib handle .zip archives?
+
+    See the directory contrib/minizip in the zlib distribution.
 
+12. Can zlib handle .Z files?
 
-8) I get "undefined reference to gzputc"
+    No, sorry. You have to spawn an uncompress or gunzip subprocess, or adapt
+    the code of uncompress on your own.
+
+13. How can I make a Unix shared library?
+
+    make clean
+    ./configure -s
+    make
 
-  If "make test" produces something like
-     example.o(.text+0x174): 
-  check that you don't have old files libz.* in /usr/lib, /usr/local/lib
-  or /usr/X11R6/lib. Remove old versions then do "make install".
+14. Why does "make test" fail on Mac OS X?
 
+    Mac OS X already includes zlib as a shared library, and so -lz links the
+    shared library instead of the one that the "make" compiled. For zlib
+    1.1.3, the two are incompatible due to different compile-time
+    options. Simply change the -lz in the Makefile to libz.a, and it will use
+    the compiled library instead of the shared one and the "make test" will
+    succeed.
+
+15. I have a question about OttoPDF
+
+    We are not the authors of OttoPDF. The real author is on the OttoPDF web
+    site Joel Hainley jhainley@myndkryme.com.
--- a/packages/services/compress/zlib/current/src/Makefile
+++ b/packages/services/compress/zlib/current/src/Makefile
@@ -1,5 +1,5 @@
 # Makefile for zlib
-# Copyright (C) 1995-1998 Jean-loup Gailly.
+# Copyright (C) 1995-2002 Jean-loup Gailly.
 # For conditions of distribution and use, see copyright notice in zlib.h 
 
 # To compile and test, type:
@@ -24,7 +24,7 @@ LDFLAGS=-L. -lz
 LDSHARED=$(CC)
 CPP=$(CC) -E
 
-VER=1.1.3
+VER=1.1.4
 LIBS=libz.a
 SHAREDLIB=libz.so
 
@@ -47,7 +47,8 @@ OBJA =
 TEST_OBJS = example.o minigzip.o
 
 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 \
+  algorithm.txt zlib.3 zlib.html \
+  msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \
   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 \
--- a/packages/services/compress/zlib/current/src/Makefile.in
+++ b/packages/services/compress/zlib/current/src/Makefile.in
@@ -1,5 +1,5 @@
 # Makefile for zlib
-# Copyright (C) 1995-1998 Jean-loup Gailly.
+# Copyright (C) 1995-2002 Jean-loup Gailly.
 # For conditions of distribution and use, see copyright notice in zlib.h 
 
 # To compile and test, type:
@@ -24,7 +24,7 @@ LDFLAGS=-L. -lz
 LDSHARED=$(CC)
 CPP=$(CC) -E
 
-VER=1.1.3
+VER=1.1.4
 LIBS=libz.a
 SHAREDLIB=libz.so
 
@@ -47,7 +47,8 @@ OBJA =
 TEST_OBJS = example.o minigzip.o
 
 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 \
+  algorithm.txt zlib.3 zlib.html \
+  msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \
   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 \
--- a/packages/services/compress/zlib/current/src/README
+++ b/packages/services/compress/zlib/current/src/README
@@ -1,7 +1,7 @@
-zlib 1.1.3 is a general purpose data compression library.  All the code
+zlib 1.1.4 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 
-ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate
+http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate
 format) and rfc1952.txt (gzip format). These documents are also available in
 other formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
 
@@ -14,51 +14,50 @@ except example.c and minigzip.c.
 
 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 Unix: "configure; make test; make install"
+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 to
+Questions about zlib should be sent to <zlib@gzip.org>, 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
+The zlib home page is http://www.zlib.org or http://www.gzip.org/zlib/
+Before reporting a problem, please check this site 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
+PLEASE read the zlib FAQ http://www.gzip.org/zlib/zlib_faq.html
+before asking for help.
+
+Mark Nelson <markn@ieee.org> 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
+http://dogma.net/markn/articles/zlibtool/zlibtool.htm
 
-The changes made in version 1.1.3 are documented in the file ChangeLog.
-The main changes since 1.1.2 are:
+The changes made in version 1.1.4 are documented in the file ChangeLog.
+The only changes made since 1.1.3 are bug corrections:
 
-- 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
+- ZFREE was repeated on same allocation on some error conditions.
+  This creates a security problem described in
+  http://www.zlib.org/advisory-2002-03-11.txt
+- Returned incorrect error (Z_MEM_ERROR) on some invalid data
+- Avoid accesses before window for invalid distances with inflate window
+  less than 32K.
+- force windowBits > 8 to avoid a bug in the encoder for a window size
+  of 256 bytes. (A complete fix will be available in 1.1.5).
 
-plus many changes for portability.
+The beta version 1.1.5beta includes many more changes. A new official
+version 1.1.5 will be released as soon as extensive testing has been
+completed on it.
+
 
 Unsupported third party contributions are provided in directory "contrib".
 
-A Java implementation of zlib is available in the Java Development Kit 1.1
+A Java implementation of zlib is available in the Java Development Kit
 http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html
-See the zlib home page http://www.cdrom.com/pub/infozip/zlib/ for details.
+See the zlib home page http://www.zlib.org for details.
 
 A Perl interface to zlib written by Paul Marquess <pmarquess@bfsec.bt.co.uk>
-is in the CPAN (Comprehensive Perl Archive Network) sites, such as:
-ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib*
+is in the CPAN (Comprehensive Perl Archive Network) sites
+http://www.cpan.org/modules/by-module/Compress/
 
 A Python interface to zlib written by A.M. Kuchling <amk@magnet.com>
 is available in Python 1.5 and later versions, see
@@ -117,7 +116,7 @@ Acknowledgments:
 
 Copyright notice:
 
- (C) 1995-1998 Jean-loup Gailly and Mark Adler
+ (C) 1995-2002 Jean-loup Gailly and Mark Adler
 
   This software is provided 'as-is', without any express or implied
   warranty.  In no event will the authors be held liable for any damages
--- a/packages/services/compress/zlib/current/src/adler32.c
+++ b/packages/services/compress/zlib/current/src/adler32.c
@@ -1,5 +1,5 @@
 /* adler32.c -- compute the Adler-32 checksum of a data stream
- * Copyright (C) 1995-1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/compress.c
+++ b/packages/services/compress/zlib/current/src/compress.c
@@ -1,5 +1,5 @@
 /* compress.c -- compress a memory buffer
- * Copyright (C) 1995-1998 Jean-loup Gailly.
+ * Copyright (C) 1995-2002 Jean-loup Gailly.
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/deflate.c
+++ b/packages/services/compress/zlib/current/src/deflate.c
@@ -1,5 +1,5 @@
 /* deflate.c -- compress data using the deflation algorithm
- * Copyright (C) 1995-1998 Jean-loup Gailly.
+ * Copyright (C) 1995-2002 Jean-loup Gailly.
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
@@ -52,7 +52,7 @@
 #include "deflate.h"
 
 const char deflate_copyright[] =
-   " deflate 1.1.3 Copyright 1995-1998 Jean-loup Gailly ";
+   " deflate 1.1.4 Copyright 1995-2002 Jean-loup Gailly ";
 /*
   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
@@ -242,7 +242,7 @@ int ZEXPORT deflateInit2_(strm, level, m
         windowBits = -windowBits;
     }
     if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED ||
-        windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
+        windowBits < 9 || windowBits > 15 || level < 0 || level > 9 ||
 	strategy < 0 || strategy > Z_HUFFMAN_ONLY) {
         return Z_STREAM_ERROR;
     }
--- a/packages/services/compress/zlib/current/src/deflate.h
+++ b/packages/services/compress/zlib/current/src/deflate.h
@@ -1,5 +1,5 @@
 /* deflate.h -- internal compression state
- * Copyright (C) 1995-1998 Jean-loup Gailly
+ * Copyright (C) 1995-2002 Jean-loup Gailly
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/example.c
+++ b/packages/services/compress/zlib/current/src/example.c
@@ -1,5 +1,5 @@
 /* example.c -- usage example of the zlib compression library
- * Copyright (C) 1995-1998 Jean-loup Gailly.
+ * Copyright (C) 1995-2002 Jean-loup Gailly.
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/gzio.c
+++ b/packages/services/compress/zlib/current/src/gzio.c
@@ -1,5 +1,5 @@
 /* gzio.c -- IO on .gz files
- * Copyright (C) 1995-1998 Jean-loup Gailly.
+ * Copyright (C) 1995-2002 Jean-loup Gailly.
  * For conditions of distribution and use, see copyright notice in zlib.h
  *
  * Compile this file with -DNO_DEFLATE to avoid the compression code.
--- a/packages/services/compress/zlib/current/src/infblock.c
+++ b/packages/services/compress/zlib/current/src/infblock.c
@@ -1,5 +1,5 @@
 /* infblock.c -- interpret and process block types to last block
- * Copyright (C) 1995-1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
@@ -319,13 +319,12 @@ int r;
         {
           if (t == (uInt)Z_DATA_ERROR)
           {
-              ZFREE(z, s->sub.trees.blens);
-              s->mode = BAD;
+            ZFREE(z, s->sub.trees.blens);
+            s->mode = BAD;
           }
           r = t;
           LEAVE
         }
-        ZFREE(z, s->sub.trees.blens);
         Tracev((stderr, "inflate:       trees ok\n"));
         if ((c = inflate_codes_new(bl, bd, tl, td, z)) == Z_NULL)
         {
@@ -334,6 +333,7 @@ int r;
         }
         s->sub.decode.codes = c;
       }
+      ZFREE(z, s->sub.trees.blens);
       s->mode = CODES;
     case CODES:
       UPDATE
--- a/packages/services/compress/zlib/current/src/infblock.h
+++ b/packages/services/compress/zlib/current/src/infblock.h
@@ -1,5 +1,5 @@
 /* infblock.h -- header to use infblock.c
- * Copyright (C) 1995-1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/infcodes.c
+++ b/packages/services/compress/zlib/current/src/infcodes.c
@@ -1,5 +1,5 @@
 /* infcodes.c -- process literals and length/distance pairs
- * Copyright (C) 1995-1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
@@ -196,15 +196,9 @@ int r;
       Tracevv((stderr, "inflate:         distance %u\n", c->sub.copy.dist));
       c->mode = COPY;
     case COPY:          /* o: copying bytes in window, waiting for space */
-#ifndef __TURBOC__ /* Turbo C bug for following expression */
-      f = (uInt)(q - s->window) < c->sub.copy.dist ?
-          s->end - (c->sub.copy.dist - (q - s->window)) :
-          q - c->sub.copy.dist;
-#else
       f = q - c->sub.copy.dist;
-      if ((uInt)(q - s->window) < c->sub.copy.dist)
-        f = s->end - (c->sub.copy.dist - (uInt)(q - s->window));
-#endif
+      while (f < s->window || f >= s->end)      /* get pointer in window */
+        f += s->end - s->window;
       while (c->len)
       {
         NEEDOUT
--- a/packages/services/compress/zlib/current/src/infcodes.h
+++ b/packages/services/compress/zlib/current/src/infcodes.h
@@ -1,5 +1,5 @@
 /* infcodes.h -- header to use infcodes.c
- * Copyright (C) 1995-1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/inffast.c
+++ b/packages/services/compress/zlib/current/src/inffast.c
@@ -1,5 +1,5 @@
 /* inffast.c -- process literals and length/distance pairs fast
- * Copyright (C) 1995-1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
@@ -93,28 +93,41 @@ z_streamp z;
 
             /* do the copy */
             m -= c;
-            if ((uInt)(q - s->window) >= d)     /* offset before dest */
-            {                                   /*  just copy */
-              r = q - d;
-              *q++ = *r++;  c--;        /* minimum count is three, */
-              *q++ = *r++;  c--;        /*  so unroll loop a little */
-            }
-            else                        /* else offset after destination */
+            r = q - d;
+            if ((uInt)(q - s->window) < d)      /* wrap if needed */
             {
-              e = d - (uInt)(q - s->window); /* bytes from offset to end */
-              r = s->end - e;           /* pointer to offset */
-              if (c > e)                /* if source crosses, */
+              do {
+                r += s->end - s->window;        /* force pointer in window */
+              } while (r < s->window || r >= s->end);
+              e = s->end - r;
+              if (c > e)
               {
-                c -= e;                 /* copy to end of window */
+                c -= e;                         /* wrapped copy */
+                do {
+                    *q++ = *r++;
+                } while (--e);
+                r = s->window;
                 do {
-                  *q++ = *r++;
-                } while (--e);
-                r = s->window;          /* copy rest from start of window */
+                    *q++ = *r++;
+                } while (--c);
+              }
+              else                              /* normal copy */
+              {
+                *q++ = *r++;  c--;
+                *q++ = *r++;  c--;
+                do {
+                    *q++ = *r++;
+                } while (--c);
               }
             }
-            do {                        /* copy all or what's left */
-              *q++ = *r++;
-            } while (--c);
+            else                                /* normal copy */
+            {
+              *q++ = *r++;  c--;
+              *q++ = *r++;  c--;
+              do {
+                *q++ = *r++;
+              } while (--c);
+            }
             break;
           }
           else if ((e & 64) == 0)
--- a/packages/services/compress/zlib/current/src/inffast.h
+++ b/packages/services/compress/zlib/current/src/inffast.h
@@ -1,5 +1,5 @@
 /* inffast.h -- header to use inffast.c
- * Copyright (C) 1995-1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/inflate.c
+++ b/packages/services/compress/zlib/current/src/inflate.c
@@ -1,5 +1,5 @@
 /* inflate.c -- zlib interface to inflate modules
- * Copyright (C) 1995-1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/inftrees.c
+++ b/packages/services/compress/zlib/current/src/inftrees.c
@@ -1,5 +1,5 @@
 /* inftrees.c -- generate Huffman trees for efficient decoding
- * Copyright (C) 1995-1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
@@ -11,7 +11,7 @@
 #endif
 
 const char inflate_copyright[] =
-   " inflate 1.1.3 Copyright 1995-1998 Mark Adler ";
+   " inflate 1.1.4 Copyright 1995-2002 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
@@ -104,8 +104,7 @@ uIntf *v;               /* working area:
 /* Given a list of code lengths and a maximum table size, make a set of
    tables to decode that set of codes.  Return Z_OK on success, Z_BUF_ERROR
    if the given code set is incomplete (the tables are still built in this
-   case), Z_DATA_ERROR if the input is invalid (an over-subscribed set of
-   lengths), or Z_MEM_ERROR if not enough memory. */
+   case), or Z_DATA_ERROR if the input is invalid. */
 {
 
   uInt a;                       /* counter for codes of length k */
@@ -231,7 +230,7 @@ uIntf *v;               /* working area:
 
         /* allocate new table */
         if (*hn + z > MANY)     /* (note: doesn't matter for fixed) */
-          return Z_MEM_ERROR;   /* not enough memory */
+          return Z_DATA_ERROR;  /* overflow of MANY */
         u[h] = q = hp + *hn;
         *hn += z;
 
--- a/packages/services/compress/zlib/current/src/inftrees.h
+++ b/packages/services/compress/zlib/current/src/inftrees.h
@@ -1,5 +1,5 @@
 /* inftrees.h -- header to use inftrees.c
- * Copyright (C) 1995-1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/infutil.c
+++ b/packages/services/compress/zlib/current/src/infutil.c
@@ -1,5 +1,5 @@
 /* inflate_util.c -- data and routines common to blocks and codes
- * Copyright (C) 1995-1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/infutil.h
+++ b/packages/services/compress/zlib/current/src/infutil.h
@@ -1,5 +1,5 @@
 /* infutil.h -- types and macros common to blocks and codes
- * Copyright (C) 1995-1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/maketree.c
+++ b/packages/services/compress/zlib/current/src/maketree.c
@@ -1,5 +1,5 @@
 /* maketree.c -- make inffixed.h table for decoding fixed codes
- * Copyright (C) 1998 Mark Adler
+ * Copyright (C) 1995-2002 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/minigzip.c
+++ b/packages/services/compress/zlib/current/src/minigzip.c
@@ -1,5 +1,5 @@
 /* minigzip.c -- simulate gzip using the zlib compression library
- * Copyright (C) 1995-1998 Jean-loup Gailly.
+ * Copyright (C) 1995-2002 Jean-loup Gailly.
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/trees.c
+++ b/packages/services/compress/zlib/current/src/trees.c
@@ -1,5 +1,5 @@
 /* trees.c -- output deflated data using Huffman coding
- * Copyright (C) 1995-1998 Jean-loup Gailly
+ * Copyright (C) 1995-2002 Jean-loup Gailly
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/uncompr.c
+++ b/packages/services/compress/zlib/current/src/uncompr.c
@@ -1,5 +1,5 @@
 /* uncompr.c -- decompress a memory buffer
- * Copyright (C) 1995-1998 Jean-loup Gailly.
+ * Copyright (C) 1995-2002 Jean-loup Gailly.
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/zlib.3
+++ b/packages/services/compress/zlib/current/src/zlib.3
@@ -1,4 +1,4 @@
-.TH ZLIB 3 "9 July 1998"
+.TH ZLIB 3 "11 March 2002"
 .SH NAME
 zlib \- compression/decompression library
 .SH SYNOPSIS
@@ -81,8 +81,8 @@ These documents are also available in ot
 .IP
 ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
 .SH AUTHORS
-Version 1.1.3
-Copyright (C) 1995-1998 Jean-loup Gailly (jloup@gzip.org)
+Version 1.1.4
+Copyright (C) 1995-2002 Jean-loup Gailly (jloup@gzip.org)
 and Mark Adler (madler@alumni.caltech.edu).
 .LP
 This software is provided "as-is,"
--- a/packages/services/compress/zlib/current/src/zutil.c
+++ b/packages/services/compress/zlib/current/src/zutil.c
@@ -1,5 +1,5 @@
 /* zutil.c -- target dependent utility functions for the compression library
- * Copyright (C) 1995-1998 Jean-loup Gailly.
+ * Copyright (C) 1995-2002 Jean-loup Gailly.
  * For conditions of distribution and use, see copyright notice in zlib.h 
  */
 
--- a/packages/services/compress/zlib/current/src/zutil.h
+++ b/packages/services/compress/zlib/current/src/zutil.h
@@ -1,5 +1,5 @@
 /* zutil.h -- internal interface and configuration of the compression library
- * Copyright (C) 1995-1998 Jean-loup Gailly.
+ * Copyright (C) 1995-2002 Jean-loup Gailly.
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
--- a/packages/services/compress/zlib/current/tests/zlib1.c
+++ b/packages/services/compress/zlib/current/tests/zlib1.c
@@ -67,89 +67,88 @@ static cyg_thread thread_obj[NTHREADS];
 static char stack[NTHREADS][STACKSIZE];
 
 static char license_txt[] =
-"Red Hat eCos Public License v1.1
-
-
-1. DEFINITIONS
-
-1.1. \"Contributor\" means each entity that creates or
-contributes to the creation of Modifications.
-
-1.2. \"Contributor Version\" means the combination of the
-Original Code, prior Modifications used by a
-Contributor, and the Modifications made by that
-particular Contributor.
-
-1.3. \"Covered Code\" means the Original Code or
-Modifications or the combination of the Original Code
-and Modifications, in each case including portions
-thereof.
-
-1.4. \"Electronic Distribution Mechanism\" means a
-mechanism generally accepted in the software development
-community for the electronic transfer of data.
-
-1.5. \"Executable\" means Covered Code in any form other
-than Source Code.
-1.6. \"Initial Developer\" means the individual or entity
-identified as the Initial Developer in the Source Code
-notice required by Exhibit A.
-
-1.7. \"Larger Work\" means a work which combines Covered
-Code or portions thereof with code not governed by the
-terms of this License.
-
-1.8. \"License\" means this document.
-
-1.9. \"Modifications\" means any addition to or deletion
-from the substance or structure of either the Original
-Code or any previous Modifications. When Covered Code is
-released as a series of files, a Modification is:
-
-     A. Any addition to or deletion from the
-     contents of a file containing Original Code or
-     previous Modifications.
-
-     B. Any new file that contains any part of the
-     Original Code or previous Modifications.
-
-1.10. \"Original Code\" means Source Code of computer
-software code which is described in the Source Code
-notice required by Exhibit A as Original Code, and
-which, at the time of its release under this License is
-not already Covered Code governed by this License.
-
-1.11. \"Source Code\" means the preferred form of the
-Covered Code for making modifications to it, including
-all modules it contains, plus any associated interface
-definition files, scripts used to control compilation
-and installation of an Executable, or a list of source
-code differential comparisons against either the
-Original Code or another well known, available Covered
-Code of the Contributor's choice. The Source Code can be
-in a compressed or archival form, provided the
-appropriate decompression or de-archiving software is
-widely available for no charge.
-
-1.12. \"You\" means an individual or a legal entity
-exercising rights under, and complying with all of the
-terms of, this License or a future version of this
-License issued under Section 6.1. For legal entities,
-\"You\" includes any entity which controls, is controlled
-by, or is under common control with You. For purposes of
-this definition, \"control\" means (a) the power, direct
-or indirect, to cause the direction or management of
-such entity, whether by contract or otherwise, or (b)
-ownership of fifty percent (50%) or more of the
-outstanding shares or beneficial ownership of such
-entity.
-
-1.13. \"Red Hat Branded Code\" is code that Red Hat
-distributes and/or permits others to distribute under
-different terms than the Red Hat eCos Public License.
-Red Hat's Branded Code may contain part or all of the
-Covered Code.
-";
+"Red Hat eCos Public License v1.1\n"
+"\n"
+"\n"
+"1. DEFINITIONS\n"
+"\n"
+"1.1. \"Contributor\" means each entity that creates or\n"
+"contributes to the creation of Modifications.\n"
+"\n"
+"1.2. \"Contributor Version\" means the combination of the\n"
+"Original Code, prior Modifications used by a\n"
+"Contributor, and the Modifications made by that\n"
+"particular Contributor.\n"
+"\n"
+"1.3. \"Covered Code\" means the Original Code or\n"
+"Modifications or the combination of the Original Code\n"
+"and Modifications, in each case including portions\n"
+"thereof.\n"
+"\n"
+"1.4. \"Electronic Distribution Mechanism\" means a\n"
+"mechanism generally accepted in the software development\n"
+"community for the electronic transfer of data.\n"
+"\n"
+"1.5. \"Executable\" means Covered Code in any form other\n"
+"than Source Code.\n"
+"1.6. \"Initial Developer\" means the individual or entity\n"
+"identified as the Initial Developer in the Source Code\n"
+"notice required by Exhibit A.\n"
+"\n"
+"1.7. \"Larger Work\" means a work which combines Covered\n"
+"Code or portions thereof with code not governed by the\n"
+"terms of this License.\n"
+"\n"
+"1.8. \"License\" means this document.\n"
+"\n"
+"1.9. \"Modifications\" means any addition to or deletion\n"
+"from the substance or structure of either the Original\n"
+"Code or any previous Modifications. When Covered Code is\n"
+"released as a series of files, a Modification is:\n"
+"\n"
+"     A. Any addition to or deletion from the\n"
+"     contents of a file containing Original Code or\n"
+"     previous Modifications.\n"
+"\n"
+"     B. Any new file that contains any part of the\n"
+"     Original Code or previous Modifications.\n"
+"\n"
+"1.10. \"Original Code\" means Source Code of computer\n"
+"software code which is described in the Source Code\n"
+"notice required by Exhibit A as Original Code, and\n"
+"which, at the time of its release under this License is\n"
+"not already Covered Code governed by this License.\n"
+"\n"
+"1.11. \"Source Code\" means the preferred form of the\n"
+"Covered Code for making modifications to it, including\n"
+"all modules it contains, plus any associated interface\n"
+"definition files, scripts used to control compilation\n"
+"and installation of an Executable, or a list of source\n"
+"code differential comparisons against either the\n"
+"Original Code or another well known, available Covered\n"
+"Code of the Contributor's choice. The Source Code can be\n"
+"in a compressed or archival form, provided the\n"
+"appropriate decompression or de-archiving software is\n"
+"widely available for no charge.\n"
+"\n"
+"1.12. \"You\" means an individual or a legal entity\n"
+"exercising rights under, and complying with all of the\n"
+"terms of, this License or a future version of this\n"
+"License issued under Section 6.1. For legal entities,\n"
+"\"You\" includes any entity which controls, is controlled\n"
+"by, or is under common control with You. For purposes of\n"
+"this definition, \"control\" means (a) the power, direct\n"
+"or indirect, to cause the direction or management of\n"
+"such entity, whether by contract or otherwise, or (b)\n"
+"ownership of fifty percent (50%) or more of the\n"
+"outstanding shares or beneficial ownership of such\n"
+"entity.\n"
+"\n"
+"1.13. \"Red Hat Branded Code\" is code that Red Hat\n"
+"distributes and/or permits others to distribute under\n"
+"different terms than the Red Hat eCos Public License.\n"
+"Red Hat's Branded Code may contain part or all of the\n"
+"Covered Code.\n";
 
 static void entry0( cyg_addrword_t data )
 {
--- a/packages/services/compress/zlib/current/tests/zlib2.c
+++ b/packages/services/compress/zlib/current/tests/zlib2.c
@@ -153,90 +153,89 @@ 0x77, 0xce, 0x81, 0x21, 0xc9, 0x4f, 0xa3
 0xb5, 0xfa, 0x06, 0x64, 0xed, 0xaa, 0x07, 0x2f, 0x0c, 0x00};
 
 unsigned char gzip_test_ref[] =
-"Red Hat eCos Public License v1.1
-
-
-
-1. DEFINITIONS
-
-1.1. \"Contributor\" means each entity that creates or
-contributes to the creation of Modifications.
-
-1.2. \"Contributor Version\" means the combination of the
-Original Code, prior Modifications used by a
-Contributor, and the Modifications made by that
-particular Contributor.
-
-1.3. \"Covered Code\" means the Original Code or
-Modifications or the combination of the Original Code
-and Modifications, in each case including portions
-thereof.
-
-1.4. \"Electronic Distribution Mechanism\" means a
-mechanism generally accepted in the software development
-community for the electronic transfer of data.
-
-1.5. \"Executable\" means Covered Code in any form other
-than Source Code.
-1.6. \"Initial Developer\" means the individual or entity
-identified as the Initial Developer in the Source Code
-notice required by Exhibit A.
-
-1.7. \"Larger Work\" means a work which combines Covered
-Code or portions thereof with code not governed by the
-terms of this License.
-
-1.8. \"License\" means this document.
-
-1.9. \"Modifications\" means any addition to or deletion
-from the substance or structure of either the Original
-Code or any previous Modifications. When Covered Code is
-released as a series of files, a Modification is:
-
-     A. Any addition to or deletion from the
-     contents of a file containing Original Code or
-     previous Modifications.
-
-     B. Any new file that contains any part of the
-     Original Code or previous Modifications.
-
-1.10. \"Original Code\" means Source Code of computer
-software code which is described in the Source Code
-notice required by Exhibit A as Original Code, and
-which, at the time of its release under this License is
-not already Covered Code governed by this License.
-
-1.11. \"Source Code\" means the preferred form of the
-Covered Code for making modifications to it, including
-all modules it contains, plus any associated interface
-definition files, scripts used to control compilation
-and installation of an Executable, or a list of source
-code differential comparisons against either the
-Original Code or another well known, available Covered
-Code of the Contributor's choice. The Source Code can be
-in a compressed or archival form, provided the
-appropriate decompression or de-archiving software is
-widely available for no charge.
-
-1.12. \"You\" means an individual or a legal entity
-exercising rights under, and complying with all of the
-terms of, this License or a future version of this
-License issued under Section 6.1. For legal entities,
-\"You\" includes any entity which controls, is controlled
-by, or is under common control with You. For purposes of
-this definition, \"control\" means (a) the power, direct
-or indirect, to cause the direction or management of
-such entity, whether by contract or otherwise, or (b)
-ownership of fifty percent (50%) or more of the
-outstanding shares or beneficial ownership of such
-entity.
-
-1.13. \"Red Hat Branded Code\" is code that Red Hat
-distributes and/or permits others to distribute under
-different terms than the Red Hat eCos Public License.
-Red Hat's Branded Code may contain part or all of the
-Covered Code.
-";
+"Red Hat eCos Public License v1.1\n"
+"\n"
+"\n"
+"\n"
+"1. DEFINITIONS\n"
+"\n"
+"1.1. \"Contributor\" means each entity that creates or\n"
+"contributes to the creation of Modifications.\n"
+"\n"
+"1.2. \"Contributor Version\" means the combination of the\n"
+"Original Code, prior Modifications used by a\n"
+"Contributor, and the Modifications made by that\n"
+"particular Contributor.\n"
+"\n"
+"1.3. \"Covered Code\" means the Original Code or\n"
+"Modifications or the combination of the Original Code\n"
+"and Modifications, in each case including portions\n"
+"thereof.\n"
+"\n"
+"1.4. \"Electronic Distribution Mechanism\" means a\n"
+"mechanism generally accepted in the software development\n"
+"community for the electronic transfer of data.\n"
+"\n"
+"1.5. \"Executable\" means Covered Code in any form other\n"
+"than Source Code.\n"
+"1.6. \"Initial Developer\" means the individual or entity\n"
+"identified as the Initial Developer in the Source Code\n"
+"notice required by Exhibit A.\n"
+"\n"
+"1.7. \"Larger Work\" means a work which combines Covered\n"
+"Code or portions thereof with code not governed by the\n"
+"terms of this License.\n"
+"\n"
+"1.8. \"License\" means this document.\n"
+"\n"
+"1.9. \"Modifications\" means any addition to or deletion\n"
+"from the substance or structure of either the Original\n"
+"Code or any previous Modifications. When Covered Code is\n"
+"released as a series of files, a Modification is:\n"
+"\n"
+"     A. Any addition to or deletion from the\n"
+"     contents of a file containing Original Code or\n"
+"     previous Modifications.\n"
+"\n"
+"     B. Any new file that contains any part of the\n"
+"     Original Code or previous Modifications.\n"
+"\n"
+"1.10. \"Original Code\" means Source Code of computer\n"
+"software code which is described in the Source Code\n"
+"notice required by Exhibit A as Original Code, and\n"
+"which, at the time of its release under this License is\n"
+"not already Covered Code governed by this License.\n"
+"\n"
+"1.11. \"Source Code\" means the preferred form of the\n"
+"Covered Code for making modifications to it, including\n"
+"all modules it contains, plus any associated interface\n"
+"definition files, scripts used to control compilation\n"
+"and installation of an Executable, or a list of source\n"
+"code differential comparisons against either the\n"
+"Original Code or another well known, available Covered\n"
+"Code of the Contributor's choice. The Source Code can be\n"
+"in a compressed or archival form, provided the\n"
+"appropriate decompression or de-archiving software is\n"
+"widely available for no charge.\n"
+"\n"
+"1.12. \"You\" means an individual or a legal entity\n"
+"exercising rights under, and complying with all of the\n"
+"terms of, this License or a future version of this\n"
+"License issued under Section 6.1. For legal entities,\n"
+"\"You\" includes any entity which controls, is controlled\n"
+"by, or is under common control with You. For purposes of\n"
+"this definition, \"control\" means (a) the power, direct\n"
+"or indirect, to cause the direction or management of\n"
+"such entity, whether by contract or otherwise, or (b)\n"
+"ownership of fifty percent (50%) or more of the\n"
+"outstanding shares or beneficial ownership of such\n"
+"entity.\n"
+"\n"
+"1.13. \"Red Hat Branded Code\" is code that Red Hat\n"
+"distributes and/or permits others to distribute under\n"
+"different terms than the Red Hat eCos Public License.\n"
+"Red Hat's Branded Code may contain part or all of the\n"
+"Covered Code.\n";
 
 static void entry0( cyg_addrword_t data )
 {