Imported from libpng-1.0.9beta3.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index 63ee893..1efb25b 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.0.9beta2 - November 19, 2000
+Libpng 1.0.9beta3 - November 23, 2000
 
 This is a public release of libpng, intended for use in production codes.
 
@@ -28,6 +28,10 @@
     subdirectory and added projects/borland project subdirectory.
   Set VS_FF_PRERELEASE and VS_FF_PATCHED flags in msvc/png.rc when appropriate.
   Add error message in png_set_compression_buffer_size() when malloc fails.
+  Revised PNG_LIBPNG_BUILD_TYPE macro in png.h, used in the msvc project.
+  Ifdef'ed out the png_flush() in pngwrite.c that crashes some applications
+    that don't set png_output_flush_fn.
+  Added makefile.macosx and makefile.aix to scripts directory.
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/CHANGES b/CHANGES
index 33f7045..cc9d34c 100644
--- a/CHANGES
+++ b/CHANGES
@@ -379,7 +379,7 @@
   Changed "ln -sf" to "ln -s -f" in makefile.s2x, makefile.lnx, and makefile.sco.
   Removed lines after Dynamic Dependencies" in makefile.aco .
   Revised makefile.dec to make a shared library (Jeremie Petit).
-  Removed trailing blanks from all files. 
+  Removed trailing blanks from all files.
 version 1.0.2a [January 6, 1999]
   Removed misplaced #endif and #ifdef PNG_NO_EXTERN near the end of png.h
   Added "if" tests to silence complaints about unused png_ptr in png.h and png.c
@@ -718,7 +718,7 @@
     the high-level interface, and unknown chunks support (all new in 1.0.6).
     This was necessary because of old applications that allocate the structs
     directly as authors were instructed to do in libpng-0.88 and earlier,
-    instead of using png_create_*(). 
+    instead of using png_create_*().
   Added modes PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT which
     can be used to detect codes that directly allocate the structs, and
     code to check these modes in png_read_init() and png_write_init() and
@@ -798,7 +798,7 @@
   Fixed "DJBPP" typo in pnggccrd.c introduced in beta18.
 version 1.0.7 [July 1, 2000]
   Revised the definition of "trans_values" in libpng.3/libpng.txt
-version 1.0.9beta2 [November 19, 2000]
+version 1.0.9beta3 [November 23, 2000]
 version 1.0.8beta1 [July 8, 2000]
   Added png_free(png_ptr, key) two places in pngpread.c to stop memory leaks.
   Changed PNG_NO_STDIO to PNG_NO_CONSOLE_IO, several places in pngrutil.c and
@@ -848,6 +848,11 @@
   Added borland project files to "projects" subdirectory.
   Set VS_FF_PRERELEASE and VS_FF_PATCHED flags in msvc/png.rc when appropriate.
   Add error message in png_set_compression_buffer_size() when malloc fails.
+version 1.0.9beta3 [November 23, 2000]
+  Revised PNG_LIBPNG_BUILD_TYPE macro in png.h, used in the msvc project.
+  Ifdef'ed out the png_flush() in pngwrite.c that crashes some applications
+    that don't set png_output_flush_fn.
+  Added makefile.macosx and makefile.aix to scripts directory.
 
 Send comments/corrections/commendations to
 png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/INSTALL b/INSTALL
index fa74b12..ae8aae1 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.0.9beta2 - November 19, 2000
+Installing libpng version 1.0.9beta3 - November 23, 2000
 
 Before installing libpng, you must first install zlib.  zlib
 can usually be found wherever you got libpng.  zlib can be
@@ -10,7 +10,7 @@
 version of zlib that's installed.
 
 You can rename the directories that you downloaded (they
-might be called "libpng-1.0.9beta2" or "lpng109" and "zlib-1.1.3"
+might be called "libpng-1.0.9beta3" or "lpng109" and "zlib-1.1.3"
 or "zlib113") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
@@ -53,29 +53,31 @@
 
 Else enter the zlib directory and follow the instructions in zlib/README,
 then come back here and choose the appropriate makefile.sys in the scripts
-directory.  
+directory.
 
 The files that are presently available in the scripts directory
 include
 
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
- makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta2)
- makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta2,
+ makefile.linux    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta3)
+ makefile.gcmmx    =>  Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta3,
                        uses assembler code tuned for Intel MMX platform)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
                        ansi2knr (Requires ansi2knr.c from
                        ftp://ftp.cs.wisc.edu/ghost)
+ makefile.aix      =>  AIX makefile
  makefile.cygwin   =>  Cygwin/gcc makefile
  makefile.dec      =>  DEC Alpha UNIX makefile
  makefile.hpux     =>  HPUX (10.20 and 11.00) makefile
  makefile.ibmc     =>  IBM C/C++ version 3.x for Win32 and OS/2 (static)
  makefile.intel    =>  Intel C/C++ version 4.0 and later
  libpng.icc        =>  Project file for IBM VisualAge/C++ version 4.0 or later
+ makefile.macosx   =>  MACOS X Makefile
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
- makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta2)
+ makefile.sggcc    =>  Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta3)
  makefile.sunos    =>  Sun makefile
- makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.9beta2)
+ makefile.solaris  =>  Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.9beta3)
  makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
  makefile.mips     =>  MIPS makefile
  makefile.acorn    =>  Acorn makefile
diff --git a/LICENSE b/LICENSE
index 7b88943..ebb8420 100644
--- a/LICENSE
+++ b/LICENSE
@@ -8,7 +8,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.0.7, July 1, 2000, through 1.0.9beta2, November 19, 2000, are
+libpng versions 1.0.7, July 1, 2000, through 1.0.9beta3, November 23, 2000, are
 Copyright (c) 2000 Glenn Randers-Pehrson
 and are distributed according to the same disclaimer and license as libpng-1.0.6
 with the following individuals added to the list of Contributing Authors
@@ -99,4 +99,4 @@
 
 Glenn Randers-Pehrson
 randeg@alum.rpi.edu
-November 19, 2000
+November 23, 2000
diff --git a/README b/README
index 3ac9cbe..eb82e27 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.0.9beta2 - November 19, 2000 (shared library 2.1)
+README for libpng 1.0.9beta3 - November 23, 2000 (shared library 2.1)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
@@ -182,25 +182,27 @@
        descrip.mms      =>  VMS makefile for MMS or MMK
        makefile.std     =>  Generic UNIX makefile (cc, creates static libpng.a)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng.so.2.1.0.9beta2)
+                            (gcc, creates libpng.so.2.1.0.9beta3)
        makefile.gcmmx   =>  Linux/ELF makefile (gcc, creates
-                            libpng.so.2.1.0.9beta2, uses assembler code
+                            libpng.so.2.1.0.9beta3, uses assembler code
                             tuned for Intel MMX platform)
        makefile.gcc     =>  Generic makefile (gcc, creates static libpng.a)
        makefile.knr     =>  Archaic UNIX Makefile that converts files with
                             ansi2knr (Requires ansi2knr.c from
                             ftp://ftp.cs.wisc.edu/ghost)
+       makefile.aix     =>  AIX makefile
        makefile.cygwin  =>  Cygwin/gcc makefile
        makefile.dec     =>  DEC Alpha UNIX makefile
        makefile.hpux    =>  HPUX (10.20 and 11.00) makefile
        makefile.ibmc    =>  IBM C/C++ version 3.x for Win32 and OS/2 (static)
        makefile.intel   =>  Intel C/C++ version 4.0 and later
        libpng.icc       =>  Project file, IBM VisualAge/C++ 4.0 or later
+       makefile.macosx  =>  MACOS X Makefile
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
-       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta2)
+       makefile.sggcc   =>  Silicon Graphics (gcc, creates libpng.so.2.1.0.9beta3)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng.so.2.1.0.9beta2)
+                            (gcc, creates libpng.so.2.1.0.9beta3)
        makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
        makefile.mips    =>  MIPS makefile
        makefile.acorn   =>  Acorn makefile
diff --git a/TODO b/TODO
index e1de86c..74763a9 100644
--- a/TODO
+++ b/TODO
@@ -17,3 +17,4 @@
    (counting huffman bits/precompression?  filter inertia?  filter costs?).
 Histogram creation.
 Text conversion between different code pages (Latin-1 -> Mac and DOS).
+Should we always malloc 2^bit_depth PLTE/tRNS/hIST entries for safety?
diff --git a/Y2KINFO b/Y2KINFO
index c3542a4..7257d4a 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      November 19, 2000
+      November 23, 2000
 
       Since the PNG Development group is an ad-hoc body, we can't make
       an official declaration.
 
       This is your unofficial assurance that libpng from version 0.71 and
-      upward through 1.0.9beta2 are Y2K compliant.  It is my belief that earlier
+      upward through 1.0.9beta3 are Y2K compliant.  It is my belief that earlier
       versions were also Y2K compliant.
 
       Libpng only has three year fields.  One is a 2-byte unsigned integer
diff --git a/configure b/configure
index 53a921e..4629d24 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 echo "
-  There is no \"configure\" script for Libpng-1.0.9beta2.  Instead, please
+  There is no \"configure\" script for Libpng-1.0.9beta3.  Instead, please
   copy the appropriate makefile for your system from the \"scripts\"
   directory.  Read the INSTALL file for more details.
 "
diff --git a/libpng.3 b/libpng.3
index 2a54ac2..d32e6c1 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "November 19, 2000"
+.TH LIBPNG 3 "November 23, 2000"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta2
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta3
 .SH SYNOPSIS
 \fI\fB
 
@@ -747,7 +747,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.9beta2 - November 19, 2000
+ libpng version 1.0.9beta3 - November 23, 2000
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
@@ -814,7 +814,7 @@
 
 Libpng uses zlib for its compression and decompression of PNG files.
 Further information about zlib, and the latest version of zlib, can
-be found at the zlib home page, <ftp://ftp.freesoftware.com/pub/infozip/zlib/>.
+be found at the zlib home page, <http://www.info-zip.org/pub/infozip/zlib/>.
 The zlib compression utility is a general purpose utility that is
 useful for more than PNG files, and can be used without libpng.
 See the documentation delivered with zlib for more details.
@@ -1118,7 +1118,7 @@
    row_pointers = png_malloc(png_ptr, height*sizeof(png_bytep));
    for (int i=0; i<height, i++)
       row_pointers[i]=png_malloc(png_ptr, width*pixel_size);
-   png_set_rows(png_ptr, info_ptr, &row_pointers); 
+   png_set_rows(png_ptr, info_ptr, &row_pointers);
 
 Alternatively you could allocate your image in one big block and define
 row_pointers[i] to point into the proper places in your block.
@@ -1311,7 +1311,7 @@
                          (empty string for unknown).
     num_text       - number of comments (same as num_comments;
                      you can put NULL here to avoid the duplication)
-    Note while png_set_text() will accept text, language, and 
+    Note while png_set_text() will accept text, language, and
     translated keywords that can be NULL pointers, the structure
     returned by png_get_text will always contain regular
     zero-terminated C strings.  They might be empty strings but
@@ -1994,7 +1994,7 @@
     png_set_invalid(png_ptr, info_ptr, mask);
     mask - identifies the chunks to be made invalid,
            containing the logical OR of one or
-           more of 
+           more of
              PNG_INFO_gAMA, PNG_INFO_sBIT,
              PNG_INFO_cHRM, PNG_INFO_PLTE,
              PNG_INFO_tRNS, PNG_INFO_bKGD,
@@ -3379,13 +3379,13 @@
 
 .SH VII. Y2K Compliance in libpng
 
-November 19, 2000
+November 23, 2000
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.0.9beta2 are Y2K compliant.  It is my belief that earlier
+upward through 1.0.9beta3 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
@@ -3526,7 +3526,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.0.9beta2 - November 19, 2000:
+Libpng version 1.0.9beta3 - November 23, 2000:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu).
 
@@ -3543,7 +3543,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.0.7, July 1, 2000, through  1.0.9beta2, November 19, 2000, are
+libpng versions 1.0.7, July 1, 2000, through  1.0.9beta3, November 23, 2000, are
 Copyright (c) 2000 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.0.6
 with the following individuals added to the list of Contributing Authors
@@ -3634,7 +3634,7 @@
 
 Glenn Randers-Pehrson
 randeg@alum.rpi.edu
-November 19, 2000
+November 23, 2000
 
 .\" end of man page
 
diff --git a/libpng.txt b/libpng.txt
index e95ad00..8299ed2 100644
--- a/libpng.txt
+++ b/libpng.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.9beta2 - November 19, 2000
+ libpng version 1.0.9beta3 - November 23, 2000
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alum.rpi.edu>
  Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
@@ -67,7 +67,7 @@
 
 Libpng uses zlib for its compression and decompression of PNG files.
 Further information about zlib, and the latest version of zlib, can
-be found at the zlib home page, <ftp://ftp.freesoftware.com/pub/infozip/zlib/>.
+be found at the zlib home page, <http://www.info-zip.org/pub/infozip/zlib/>.
 The zlib compression utility is a general purpose utility that is
 useful for more than PNG files, and can be used without libpng.
 See the documentation delivered with zlib for more details.
@@ -371,7 +371,7 @@
    row_pointers = png_malloc(png_ptr, height*sizeof(png_bytep));
    for (int i=0; i<height, i++)
       row_pointers[i]=png_malloc(png_ptr, width*pixel_size);
-   png_set_rows(png_ptr, info_ptr, &row_pointers); 
+   png_set_rows(png_ptr, info_ptr, &row_pointers);
 
 Alternatively you could allocate your image in one big block and define
 row_pointers[i] to point into the proper places in your block.
@@ -564,7 +564,7 @@
                          (empty string for unknown).
     num_text       - number of comments (same as num_comments;
                      you can put NULL here to avoid the duplication)
-    Note while png_set_text() will accept text, language, and 
+    Note while png_set_text() will accept text, language, and
     translated keywords that can be NULL pointers, the structure
     returned by png_get_text will always contain regular
     zero-terminated C strings.  They might be empty strings but
@@ -1247,7 +1247,7 @@
     png_set_invalid(png_ptr, info_ptr, mask);
     mask - identifies the chunks to be made invalid,
            containing the logical OR of one or
-           more of 
+           more of
              PNG_INFO_gAMA, PNG_INFO_sBIT,
              PNG_INFO_cHRM, PNG_INFO_PLTE,
              PNG_INFO_tRNS, PNG_INFO_bKGD,
@@ -2632,13 +2632,13 @@
 
 VII. Y2K Compliance in libpng
 
-November 19, 2000
+November 23, 2000
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.0.9beta2 are Y2K compliant.  It is my belief that earlier
+upward through 1.0.9beta3 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
diff --git a/libpngpf.3 b/libpngpf.3
index 4404059..1ff9fd2 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "November 19, 2000"
+.TH LIBPNGPF 3 "November 23, 2000"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta2
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta3
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index a1cce5d..133b8f6 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "November 19, 2000"
+.TH PNG 5 "November 23, 2000"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 164ebf3..09ed6d2 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * libpng version 1.0.9beta2 - November 19, 2000
+ * libpng version 1.0.9beta3 - November 23, 2000
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -13,14 +13,14 @@
 #include "png.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_9beta2 Your_png_h_is_not_version_1_0_9beta2;
+typedef version_1_0_9beta3 Your_png_h_is_not_version_1_0_9beta3;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.  */
 
 #ifdef PNG_USE_GLOBAL_ARRAYS
 /* png_libpng_ver was changed to a function in version 1.0.5c */
-const char png_libpng_ver[18] = "1.0.9beta2";
+const char png_libpng_ver[18] = "1.0.9beta3";
 
 /* png_sig was changed to a function in version 1.0.5c */
 /* Place to hold the signature string for a PNG file. */
@@ -526,7 +526,7 @@
    png_debug(1, "in png_info_destroy\n");
 
    png_free_data(png_ptr, info_ptr, PNG_FREE_ALL, -1);
-    
+
 #if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED)
    if (png_ptr->num_chunk_list)
    {
@@ -626,7 +626,7 @@
 png_get_copyright(png_structp png_ptr)
 {
    if (png_ptr != NULL || png_ptr == NULL)  /* silence compiler warning */
-   return ((png_charp) "\n libpng version 1.0.9beta2 - November 19, 2000\n\
+   return ((png_charp) "\n libpng version 1.0.9beta3 - November 23, 2000\n\
    Copyright (c) 1998-2000 Glenn Randers-Pehrson\n\
    Copyright (c) 1996, 1997 Andreas Dilger\n\
    Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.\n");
@@ -644,8 +644,8 @@
 {
    /* Version of *.c files used when building libpng */
    if(png_ptr != NULL) /* silence compiler warning about unused png_ptr */
-      return((png_charp) "1.0.9beta2");
-   return((png_charp) "1.0.9beta2");
+      return((png_charp) "1.0.9beta3");
+   return((png_charp) "1.0.9beta3");
 }
 
 png_charp PNGAPI
diff --git a/png.h b/png.h
index ca4c8a9..11fb237 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.0.9beta2 - November 19, 2000
+ * libpng version 1.0.9beta3 - November 23, 2000
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -9,7 +9,7 @@
  * Authors and maintainers:
  *  libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *  libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *  libpng versions 0.97, January 1998, through 1.0.9beta2 - November 19, 2000: Glenn
+ *  libpng versions 0.97, January 1998, through 1.0.9beta3 - November 23, 2000: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -85,7 +85,7 @@
  * If you modify libpng you may insert additional notices immediately following
  * this sentence.
  *
- * libpng versions 1.0.7, July 1, 2000, through  1.0.9beta2, November 19, 2000, are
+ * libpng versions 1.0.7, July 1, 2000, through  1.0.9beta3, November 23, 2000, are
  * Copyright (c) 2000 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.0.6
  * with the following individuals added to the list of Contributing Authors
@@ -190,13 +190,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    November 19, 2000
+ *    November 23, 2000
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
  *
  *    This is your unofficial assurance that libpng from version 0.71 and
- *    upward through 1.0.9beta2 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.0.9beta3 are Y2K compliant.  It is my belief that earlier
  *    versions were also Y2K compliant.
  *
  *    Libpng only has three year fields.  One is a 2-byte unsigned integer
@@ -252,7 +252,7 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.9beta2"
+#define PNG_LIBPNG_VER_STRING "1.0.9beta3"
 
 #define PNG_LIBPNG_VER_SONUM   2
 
@@ -262,8 +262,16 @@
 #define PNG_LIBPNG_VER_RELEASE 9
 /* This should match the numeric part of the final component of
  * PNG_LIBPNG_VER_STRING, omitting any leading zero: */
-#define PNG_LIBPNG_VER_BUILD  2
-#define PNG_LIBPNG_BUILD_TYPE beta /* alpha, beta, rc, stable, patched */
+
+#define PNG_LIBPNG_VER_BUILD  3
+
+#define PNG_LIBPNG_BUILD_ALPHA    1
+#define PNG_LIBPNG_BUILD_BETA     2
+#define PNG_LIBPNG_BUILD_RC       3
+#define PNG_LIBPNG_BUILD_STABLE   4
+#define PNG_LIBPNG_BUILD_TYPEMASK 7
+#define PNG_LIBPNG_BUILD_PATCH    8 /* Can be OR'ed with STABLE only */
+#define PNG_LIBPNG_BUILD_TYPE 2
 
 /* Careful here.  At one time, Guy wanted to use 082, but that would be octal.
  * We must not include leading zeros.
@@ -909,8 +917,10 @@
 #define PNG_TRANSFORM_STRIP_FILLER   0x0800    /* WRITE only */
 
 /* Flags for MNG supported features */
-#define PNG_FLAG_MNG_EMPTY_PLTE 0x01
-#define PNG_ALL_MNG_FEATURES    0x01
+#define PNG_FLAG_MNG_EMPTY_PLTE     0x01
+#define PNG_MODE_EMBEDDED_IN_MNG    0x02
+#define PNG_FLAG_MNG_FILTER_64      0x04
+#define PNG_ALL_MNG_FEATURES        0x07
 
 typedef png_voidp (*png_malloc_ptr) PNGARG((png_structp, png_size_t));
 typedef void (*png_free_ptr) PNGARG((png_structp, png_voidp));
@@ -1159,9 +1169,9 @@
 };
 
 /* This prevents a compiler error in png_get_copyright() in png.c if png.c
-and png.h are both at * version 1.0.9beta2
+and png.h are both at * version 1.0.9beta3
  */
-typedef png_structp version_1_0_9beta2;
+typedef png_structp version_1_0_9beta3;
 
 typedef png_struct FAR * FAR * png_structpp;
 
@@ -2200,7 +2210,7 @@
 #endif
 
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.0.9beta2 - November 19, 2000 (header)\n"
+   " libpng version 1.0.9beta3 - November 23, 2000 (header)\n"
 
 #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
 /* With these routines we avoid an integer divide, which will be slower on
diff --git a/pngasmrd.h b/pngasmrd.h
index 0293920..00b9ab8 100644
--- a/pngasmrd.h
+++ b/pngasmrd.h
@@ -1,6 +1,6 @@
 /* pngasmrd.h - assembler version of utilities to read a PNG file
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1999, 2000 Glenn Randers-Pehrson
  *
diff --git a/pngconf.h b/pngconf.h
index 12d12dd..a7e0412 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,6 +1,6 @@
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -33,7 +33,7 @@
 #define PNG_ZBUF_SIZE 8192
 #endif
 
-#ifndef PNG_NO_FLOATING_POINT_SUPPORTED 
+#ifndef PNG_NO_FLOATING_POINT_SUPPORTED
 #define PNG_FLOATING_POINT_SUPPORTED
 #endif
 
@@ -53,7 +53,7 @@
  * 'Normal' png-on-win32 defines/defaults:
  *   PNG_BUILD_DLL -- building dll
  *   PNG_USE_DLL   -- building an application, linking to dll
- *   (no define)   -- building static library, or building an 
+ *   (no define)   -- building static library, or building an
  *                    application and linking to the static lib
  * 'Cygwin' defines/defaults:
  *   PNG_BUILD_DLL -- building the dll
@@ -1015,11 +1015,11 @@
  * It is equivalent to Microsoft predefined macro _DLL which is
  * automatically defined when you compile using the share
  * version of the CRT (C Run-Time library)
- * 
- * The cygwin mods make this behavior a little different: 
+ *
+ * The cygwin mods make this behavior a little different:
  * Define PNG_BUILD_DLL if you are building a dll for use with cygwin
  * Define PNG_STATIC if you are building a static library for use with cygwin,
- *   -or- if you are building an application that you want to link to the 
+ *   -or- if you are building an application that you want to link to the
  *   static library.
  * PNG_USE_DLL is defined by default (no user action needed) unless one of
  *   the other flags is defined.
@@ -1051,7 +1051,7 @@
 #    define PNG_USE_LOCAL_ARRAYS
 #  endif
 #endif
-    
+
 /* Do not use global arrays (helps with building DLL's)
  * They are no longer used in libpng itself, since version 1.0.5c,
  * but might be required for some pre-1.0.5c applications.
@@ -1071,8 +1071,8 @@
 #  ifndef PNG_NO_MODULEDEF
 #    define PNG_NO_MODULEDEF
 #  endif
-#endif 
- 
+#endif
+
 #if !defined(PNG_IMPEXP) && defined(PNG_BUILD_DLL) && !defined(PNG_NO_MODULEDEF)
 #  define PNG_IMPEXP
 #endif
diff --git a/pngerror.c b/pngerror.c
index 43bf597..0b77991 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pnggccrd.c b/pnggccrd.c
index d6e49b4..483c741 100644
--- a/pnggccrd.c
+++ b/pnggccrd.c
@@ -6,7 +6,7 @@
  *     and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
  *     for Intel's performance analysis of the MMX vs. non-MMX code.
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * Copyright (c) 1998, Intel Corporation
@@ -198,7 +198,7 @@
  *     correctly (but 48-bit RGB just fine)
  *
  * 20000916:
- *  - fixed bug in png_read_filter_row_mmx_avg(), bpp == 2 case; three errors:  
+ *  - fixed bug in png_read_filter_row_mmx_avg(), bpp == 2 case; three errors:
  *     - "_ShiftBpp.use = 24;"      should have been   "_ShiftBpp.use = 16;"
  *     - "_ShiftRem.use = 40;"      should have been   "_ShiftRem.use = 48;"
  *     - "psllq _ShiftRem, %%mm2"   should have been   "psrlq _ShiftRem, %%mm2"
@@ -240,22 +240,22 @@
 #  define _unmask         unmask
 #  define _const4         const4
 #  define _const6         const6
-#  define _mask8_0        mask8_0  
-#  define _mask16_1       mask16_1 
-#  define _mask16_0       mask16_0 
-#  define _mask24_2       mask24_2 
-#  define _mask24_1       mask24_1 
-#  define _mask24_0       mask24_0 
-#  define _mask32_3       mask32_3 
-#  define _mask32_2       mask32_2 
-#  define _mask32_1       mask32_1 
-#  define _mask32_0       mask32_0 
-#  define _mask48_5       mask48_5 
-#  define _mask48_4       mask48_4 
-#  define _mask48_3       mask48_3 
-#  define _mask48_2       mask48_2 
-#  define _mask48_1       mask48_1 
-#  define _mask48_0       mask48_0 
+#  define _mask8_0        mask8_0
+#  define _mask16_1       mask16_1
+#  define _mask16_0       mask16_0
+#  define _mask24_2       mask24_2
+#  define _mask24_1       mask24_1
+#  define _mask24_0       mask24_0
+#  define _mask32_3       mask32_3
+#  define _mask32_2       mask32_2
+#  define _mask32_1       mask32_1
+#  define _mask32_0       mask32_0
+#  define _mask48_5       mask48_5
+#  define _mask48_4       mask48_4
+#  define _mask48_3       mask48_3
+#  define _mask48_2       mask48_2
+#  define _mask48_1       mask48_1
+#  define _mask48_0       mask48_0
 #  define _FullLength     FullLength
 #  define _MMXLength      MMXLength
 #  define _dif            dif
@@ -642,7 +642,7 @@
                   png_memcpy(dstptr, srcptr, rep_bytes);
                   srcptr += stride;
                   dstptr += stride;
-               } 
+               }
             } /* end of else */
 
             break;
@@ -774,7 +774,7 @@
                   png_memcpy(dstptr, srcptr, rep_bytes);
                   srcptr += stride;
                   dstptr += stride;
-               } 
+               }
             } /* end of else */
 
             break;
@@ -921,7 +921,7 @@
                   png_memcpy(dstptr, srcptr, rep_bytes);
                   srcptr += stride;
                   dstptr += stride;
-               } 
+               }
             } /* end of else */
 
             break;
@@ -1246,7 +1246,7 @@
                   png_memcpy(dstptr, srcptr, rep_bytes);
                   srcptr += stride;
                   dstptr += stride;
-               } 
+               }
             } /* end of else */
 
             break;
@@ -1273,7 +1273,7 @@
                png_memcpy(dstptr, srcptr, rep_bytes);
                srcptr += stride;
                dstptr += stride;
-            } 
+            }
             break;
          }       // end 64 bpp
 
@@ -2095,7 +2095,7 @@
                            : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
- 
+
                            : "1" (sptr),      // esi      // input regs
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
@@ -2153,7 +2153,7 @@
                            : "=c" (dummy_value_c),        // output regs (dummy)
                              "=S" (dummy_value_S),
                              "=D" (dummy_value_D)
- 
+
                            : "1" (sptr),      // esi      // input regs
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
diff --git a/pngget.c b/pngget.c
index 42ba528..08bf599 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngmem.c b/pngmem.c
index 6a0474f..3943f8b 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngpread.c b/pngpread.c
index 0e56466..cee670d 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngread.c b/pngread.c
index af88de5..4d1bf44 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -103,7 +103,7 @@
         removed from version 2.0.0 and beyond because the previous test
         would have already rejected it. */
 
-     if (user_png_ver[4] == '6' && user_png_ver[2] == '0' && 
+     if (user_png_ver[4] == '6' && user_png_ver[2] == '0' &&
          user_png_ver[0] == '1' && user_png_ver[5] == '\0')
      {
         png_error(png_ptr,
@@ -701,7 +701,7 @@
  * not called png_set_interlace_handling(), the display_row buffer will
  * be ignored, so pass NULL to it.
  *
- * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta2
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta3
  */
 
 void PNGAPI
@@ -750,7 +750,7 @@
  * only call this function once.  If you desire to have an image for
  * each pass of a interlaced image, use png_read_rows() instead.
  *
- * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta2
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9beta3
  */
 void PNGAPI
 png_read_image(png_structp png_ptr, png_bytepp image)
diff --git a/pngrio.c b/pngrio.c
index 5cd3ddc..6671c97 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
 
 /* pngrio.c - functions for data input
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrtran.c b/pngrtran.c
index 57391ba..aa5f05d 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrutil.c b/pngrutil.c
index e87ee53..9ff60de 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngset.c b/pngset.c
index 1140126..5f9ed29 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -730,7 +730,7 @@
 png_set_unknown_chunk_location(png_structp png_ptr, png_infop info_ptr,
    int chunk, int location)
 {
-   if(png_ptr != NULL && info_ptr != NULL && chunk >= 0 && chunk < 
+   if(png_ptr != NULL && info_ptr != NULL && chunk >= 0 && chunk <
          (int)info_ptr->unknown_chunks_num)
       info_ptr->unknown_chunks[chunk].location = (png_byte)location;
 }
diff --git a/pngtest.c b/pngtest.c
index 2ced420..0dc6e9e 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -1449,4 +1449,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_0_9beta2 your_png_h_is_not_version_1_0_9beta2;
+typedef version_1_0_9beta3 your_png_h_is_not_version_1_0_9beta3;
diff --git a/pngtrans.c b/pngtrans.c
index 140905c..af553bc 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,7 +1,7 @@
 
 /* pngtrans.c - transforms the data in a row (used by both readers and writers)
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngvcrd.c b/pngvcrd.c
index 4b85a1f..3d394df6 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,7 +2,7 @@
  *
  * For Intel x86 CPU and Microsoft Visual C++ compiler
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * Copyright (c) 1998, Intel Corporation
diff --git a/pngwio.c b/pngwio.c
index d62fe85..320989f 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
 
 /* pngwio.c - functions for data output
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwrite.c b/pngwrite.c
index ba79c7b..bffad0f 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -375,7 +375,11 @@
 
    /* write end of PNG file */
    png_write_IEND(png_ptr);
+#if 0
+/* This flush, added in libpng-1.0.8,  causes some applications to crash
+   because they do not set png_ptr->output_flush_fn */
    png_flush(png_ptr);
+#endif
 }
 
 #if defined(PNG_WRITE_tIME_SUPPORTED)
@@ -488,7 +492,7 @@
         removed from version 2.0.0 and beyond because the previous test
         would have already rejected it. */
 
-     if (user_png_ver[4] == '6' && user_png_ver[2] == '0' && 
+     if (user_png_ver[4] == '6' && user_png_ver[2] == '0' &&
          user_png_ver[0] == '1' && user_png_ver[5] == '\0')
      {
         png_error(png_ptr,
diff --git a/pngwtran.c b/pngwtran.c
index d0f5dd7..ace6532 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,7 +1,7 @@
 
 /* pngwtran.c - transforms the data in a row for PNG writers
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngwutil.c b/pngwutil.c
index ef81008..6aa1c4e 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * libpng 1.0.9beta2 - November 19, 2000
+ * libpng 1.0.9beta3 - November 23, 2000
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/projects/msvc/README.txt b/projects/msvc/README.txt
index 8c4c534..f2a5f86 100644
--- a/projects/msvc/README.txt
+++ b/projects/msvc/README.txt
@@ -1,5 +1,5 @@
 Microsoft Developer Studio Build File, Format Version 6.00 for
-libpng 1.0.9beta2 (November 19, 2000) and zlib
+libpng 1.0.9beta3 (November 23, 2000) and zlib
 
 Copyright (C) 2000 Simon-Pierre Cadieux
 For conditions of distribution and use, see copyright notice in png.h
diff --git a/projects/msvc/png.rc b/projects/msvc/png.rc
index 6921983..b9ef2d6 100644
--- a/projects/msvc/png.rc
+++ b/projects/msvc/png.rc
@@ -50,23 +50,18 @@
 #  define VS_SPECIALBUILD 0
 #endif /* SPECIALBUILD */
 
-#if defined(PNG_LIBPNG_BUILD_TYPE)
-#  if (PNG_LIBPNG_BUILD_TYPE != stable)
-#    if(PNG_LIBPNG_BUILD_TYPE == patched)
-#      define VS_PATCHED VS_FF_PATCHED
-#      define VS_PRERELEASE 0
-#    else
-#      define VS_PRERELEASE VS_FF_PRERELEASE
-#      define VS_PATCHED 0
-#    endif
-#  else
-#    define VS_PRERELEASE 0
-#    define VS_PATCHED 0
-#  endif /* PNG_LIBPNG_BUILD_TYPE != stable */
+#if ((PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_BUILD_TYPEMASK) != \
+      PNG_LIBPNG_BUILD_STABLE)
+#  define VS_PRERELEASE VS_FF_PRERELEASE
+#  define VS_PATCHED 0
 #else
 #  define VS_PRERELEASE 0
-#  define VS_PATCHED 0
-#endif /* PNG_LIBPNG_BUILD_TYPE */
+#  if (PNG_LIBPNG_BUILD_TYPE & PNG_LIBPNG_BUILD_PATCHED)
+#    define VS_PATCHED VS_FF_PATCHED
+#  else
+#    define VS_PATCHED 0
+#  endif
+#endif
 
 VS_VERSION_INFO VERSIONINFO 
 FILEVERSION PNG_LIBPNG_VER_MAJOR, PNG_LIBPNG_VER_MINOR, PNG_LIBPNG_VER_RELEASE, PNG_LIBPNG_VER_BUILD
diff --git a/projects/msvc/png32ms.def b/projects/msvc/png32ms.def
index 6996851..9aa8885 100644
--- a/projects/msvc/png32ms.def
+++ b/projects/msvc/png32ms.def
@@ -6,7 +6,7 @@
 DESCRIPTION "PNG image compression library for Windows"
 
 EXPORTS
-;Version 1.0.9beta2
+;Version 1.0.9beta3
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
diff --git a/projects/wince/READMEE.WCE b/projects/wince/READMEE.WCE
index ecfee54..54f697e 100644
--- a/projects/wince/READMEE.WCE
+++ b/projects/wince/READMEE.WCE
@@ -8,9 +8,9 @@
 
 Introduction
 ============
-This is libpng 1.0.9beta2 ported to WindowsCE 2.0 and 2.11.
-libpng 1.0.9beta2 is a PNG reference library.
-See README, a document of original libpng 1.0.9beta2.
+This is libpng 1.0.9beta3 ported to WindowsCE 2.0 and 2.11.
+libpng 1.0.9beta3 is a PNG reference library.
+See README, a document of original libpng 1.0.9beta3.
 
 zlib for WindowsCE
 ==================
@@ -23,7 +23,7 @@
 warranty.  In no event will the authors be held liable for any damages
 arising from the use of this software.
 
-See README and LICENSE, documents of original libpng 1.0.9beta2, for conditions
+See README and LICENSE, documents of original libpng 1.0.9beta3, for conditions
 of use and distribution.
 
 Files
diff --git a/projects/wince/READMEJ.WCE b/projects/wince/READMEJ.WCE
index d94c9d7..bf0ef59 100644
--- a/projects/wince/READMEJ.WCE
+++ b/projects/wince/READMEJ.WCE
@@ -24,7 +24,7 @@
 ‚É‚È‚Á‚½‚¢‚©‚È‚é”íŠQ‚ɂ‚¢‚Ä‚àAìŽÒA”z•zŽÒA‚»‚Ì‘¼—˜—pŽÒˆÈŠO‚̐l•¨A
 ’c‘̂ɐӔC‚ð‚Æ‚é‹`–±‚Í‚È‚¢‚à‚Ì‚Æ‚µ‚Ü‚·B
 
-‚»‚Ì‘¼A‚±‚̃\ƒtƒgƒEƒFƒA‚Ì—˜—pðŒ‚ɂ‚¢‚ẮAŒ´”Å‚Å‚ ‚é libpng 1.0.9beta2‚É
+‚»‚Ì‘¼A‚±‚̃\ƒtƒgƒEƒFƒA‚Ì—˜—pðŒ‚ɂ‚¢‚ẮAŒ´”Å‚Å‚ ‚é libpng 1.0.9beta3‚É
 €‹’‚·‚é‚à‚Ì‚Æ‚µ‚Ü‚·BÚ‚µ‚­‚́A•t‘®‚Ì README,LICENSE ‚ð‚¨“Ç‚Ý‚­‚¾‚³‚¢B
 
 Žû˜^“à—e
diff --git a/projects/wince/png32ce.def b/projects/wince/png32ce.def
index c9eddc5..af70b16 100644
--- a/projects/wince/png32ce.def
+++ b/projects/wince/png32ce.def
@@ -5,7 +5,7 @@
 LIBRARY lpngce
 
 EXPORTS
-;Version 1.0.9beta2
+;Version 1.0.9beta3
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
diff --git a/scripts/makefile.acorn b/scripts/makefile.acorn
index 504a17f..470cf89 100644
--- a/scripts/makefile.acorn
+++ b/scripts/makefile.acorn
@@ -2,40 +2,40 @@
 
 
 # Toolflags:
-CCflags = -c -depend !Depend -IC:,Zlib: -g -throwback  -DRISCOS  -fnah 
+CCflags = -c -depend !Depend -IC:,Zlib: -g -throwback  -DRISCOS  -fnah
 C++flags = -c -depend !Depend -IC: -throwback
 Linkflags = -aif -c++ -o $@
 ObjAsmflags = -throwback -NoCache -depend !Depend
 CMHGflags = 
-LibFileflags = -c -l -o $@ 
+LibFileflags = -c -l -o $@
 Squeezeflags = -o $@
 
 
 # Final targets:
 @.libpng-lib:   @.o.png @.o.pngerror @.o.pngrio @.o.pngwio @.o.pngmem \
 	@.o.pngpread @.o.pngset @.o.pngget @.o.pngread @.o.pngrtran \
-	@.o.pngrutil @.o.pngtrans @.o.pngwrite @.o.pngwtran @.o.pngwutil 
+	@.o.pngrutil @.o.pngtrans @.o.pngwrite @.o.pngwtran @.o.pngwutil
 	LibFile $(LibFileflags) @.o.png @.o.pngerror @.o.pngrio @.o.pngrtran \
 	@.o.pngmem @.o.pngpread @.o.pngset @.o.pngget @.o.pngread @.o.pngwio \
-	@.o.pngrutil @.o.pngtrans  @.o.pngwrite @.o.pngwtran @.o.pngwutil 
+	@.o.pngrutil @.o.pngtrans  @.o.pngwrite @.o.pngwtran @.o.pngwutil
 @.mm-libpng-lib:   @.mm.png @.mm.pngerror @.mm.pngrio @.mm.pngwio @.mm.pngmem \
 	@.mm.pngpread @.mm.pngset @.mm.pngget @.mm.pngread @.mm.pngrtran \
-	@.mm.pngrutil @.mm.pngtrans @.mm.pngwrite @.mm.pngwtran @.mm.pngwutil 
+	@.mm.pngrutil @.mm.pngtrans @.mm.pngwrite @.mm.pngwtran @.mm.pngwutil
 	LibFile $(LibFileflags) @.mm.png @.mm.pngerror @.mm.pngrio \
 	@.mm.pngwio @.mm.pngmem @.mm.pngpread @.mm.pngset @.mm.pngget \
 	@.mm.pngread @.mm.pngrtran @.mm.pngrutil @.mm.pngtrans @.mm.pngwrite \
-	@.mm.pngwtran @.mm.pngwutil 
+	@.mm.pngwtran @.mm.pngwutil
 
 
 # User-editable dependencies:
 # (C) Copyright 1997 Tom Tanner
-Test: @.pngtest 
+Test: @.pngtest
 	<Prefix$Dir>.pngtest
 	@remove <Prefix$Dir>.pngtest
 
 #It would be nice if you could stop "make" listing from here on!
-@.pngtest:   @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib 
-	Link $(Linkflags) @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib 
+@.pngtest:   @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib
+	Link $(Linkflags) @.o.pngtest @.libpng-lib C:o.Stubs Zlib:zlib_lib
 
 .SUFFIXES: .o .mm .c
 
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
new file mode 100644
index 0000000..e53d8b7
--- /dev/null
+++ b/scripts/makefile.aix
@@ -0,0 +1,84 @@
+# makefile for libpng using gcc (generic, static library)
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+# Copyright (C) 2000 Cosmin Truta
+# Copyright (C) 2000 Marc O. Gloor (AIX support added, from makefile.gcc)
+# For conditions of distribution and use, see copyright notice in png.h
+
+# Location of the zlib library and include files
+ZLIBINC = ../zlib
+ZLIBLIB = ../zlib
+
+# Compiler, linker, lib and other tools
+CC = gcc
+LD = $(CC)
+AR = ar rcs
+RANLIB = ranlib
+RM = rm -f
+
+# read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
+# have to change it.
+PNGMAJ = 2
+PNGMIN = 1.0.9beta3
+PNGVER = $(PNGMAJ).$(PNGMIN)
+
+prefix=/usr/local
+INCPATH=$(prefix)/include
+LIBPATH=$(prefix)/lib
+
+CDEBUG = -g -DPNG_DEBUG=5
+LDDEBUG =
+CRELEASE = -O2
+LDRELEASE = -s
+CFLAGS = -I$(ZLIBINC) -Wall $(CRELEASE)
+LDFLAGS = -L. -L$(ZLIBLIB) -lpng -lz -lm $(LDRELEASE)
+
+# File extensions
+O=.o
+A=.a
+E=
+
+# Variables
+OBJS = png$(O) pngerror$(O) pngget$(O) pngmem$(O) pngpread$(O) \
+	pngread$(O) pngrio$(O) pngrtran$(O) pngrutil$(O) pngset$(O) \
+	pngtrans$(O) pngwio$(O) pngwrite$(O) pngwtran$(O) pngwutil$(O)
+
+# Targets
+all: libpng$(A) pngtest$(E)
+
+libpng$(A): $(OBJS)
+	$(AR) $@ $(OBJS)
+	$(RANLIB) $@
+
+test: pngtest$(E)
+	./pngtest$(E)
+
+pngtest$(E): pngtest$(O) libpng$(A)
+	$(LD) -o $@ pngtest$(O) $(LDFLAGS)
+
+install: libpng.a
+	-@if [ ! -d $(INCPATH)  ]; then mkdir $(INCPATH); fi
+	-@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi
+	cp png.h pngconf.h $(INCPATH)
+	chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h
+	cp libpng.a $(LIBPATH)
+
+clean:
+	/bin/rm -f *.o libpng.a libpng.so* pngtest pngout.png
+
+png$(O): png.h pngconf.h
+pngerror$(O): png.h pngconf.h
+pngget$(O): png.h pngconf.h
+pngmem$(O): png.h pngconf.h
+pngpread$(O): png.h pngconf.h
+pngread$(O): png.h pngconf.h
+pngrio$(O): png.h pngconf.h
+pngrtran$(O): png.h pngconf.h
+pngrutil$(O): png.h pngconf.h
+pngset$(O): png.h pngconf.h
+pngtest$(O): png.h pngconf.h
+pngtrans$(O): png.h pngconf.h
+pngwio$(O): png.h pngconf.h
+pngwrite$(O): png.h pngconf.h
+pngwtran$(O): png.h pngconf.h
+pngwutil$(O): png.h pngconf.h
+
diff --git a/scripts/makefile.amiga b/scripts/makefile.amiga
index 4587088..79cb424 100644
--- a/scripts/makefile.amiga
+++ b/scripts/makefile.amiga
@@ -14,7 +14,7 @@
 #          So use V6.55 or set NOOPTGO!!!!!!!!!
 CFLAGS= NOSTKCHK PARMS=REG OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL\
 	OPTLOOP OPTRDEP=4 OPTDEP=4 OPTCOMP=4 INCLUDEDIR=$(ZLIB) \
-	DEFINE=PNG_INTERNAL 
+	DEFINE=PNG_INTERNAL
 #linker flags
 LDFLAGS= SD ND BATCH
 #link libs
diff --git a/scripts/makefile.bd32 b/scripts/makefile.bd32
index bc7e193..92a57ab 100644
--- a/scripts/makefile.bd32
+++ b/scripts/makefile.bd32
@@ -21,7 +21,7 @@
 
 CC=bcc32
 CFLAGS= -ps -O2 -N- -k- -d -r- -w-par -w-aus -I$(ZLIBDIR) \
-  -DPNG_NO_GLOBAL_ARRAYS #-DPNG_DEBUG=5
+	-DPNG_NO_GLOBAL_ARRAYS #-DPNG_DEBUG=5
 #LINK=tlink32
 #LINK=ilink32
 LINK=bcc32
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 26334e9..3f7c16b 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -31,7 +31,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.9beta2
+PNGMIN = 1.0.9beta3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # where make install puts libpng.a, libpng.so*, and png.h
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index f38d701..be674b3 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -2,7 +2,7 @@
 #   builds both dll (with import lib) and static lib versions
 #   of the library, and builds two copies of pngtest: one
 #   statically linked and one dynamically linked.
-#   
+#
 #   based on makefile for linux-elf w/mmx by:
 # Copyright (C) 1998-2000 Greg Roelofs
 # Copyright (C) 1996, 1997 Andreas Dilger
@@ -33,12 +33,12 @@
 #CFLAGS=-DPNG_USE_PNGGCCRD -I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
 #        -fomit-frame-pointer  # $(WARNMORE) -g -DPNG_DEBUG=5
 CFLAGS=-I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
-        -fomit-frame-pointer 
+	-fomit-frame-pointer
 
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.9beta2
+PNGMIN = 1.0.9beta3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(PNGMAJ).dll
@@ -108,7 +108,7 @@
 	cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' > $@
 
 $(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF)
-	$(LDSHARED) -o $@ $(LDEXTRA) $(OBJSDLL) -L. -L$(ZLIBLIB) -lz 
+	$(LDSHARED) -o $@ $(LDEXTRA) $(OBJSDLL) -L. -L$(ZLIBLIB) -lz
 
 pngtest$(EXE): pngtest.pic.o $(SHAREDLIB)
 	$(CC) $(CFLAGS) $< $(LDFLAGS) -o $@
@@ -132,7 +132,7 @@
 
 install: install-static install-shared
 
-install-static: $(STATLIB) install-headers install-docs install-man 
+install-static: $(STATLIB) install-headers install-docs install-man
 	-@if [ ! -d $(LIBPATH) ]; then mkdir -p $(LIBPATH); fi
 	install -m 755 $(STATLIB) $(LIBPATH)
 
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index b590c40..1665c58 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -17,7 +17,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.9beta2
+PNGMIN = 1.0.9beta3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=cc
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 458af02..80891b9 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -27,7 +27,7 @@
 # for pgcc version 2.95.1, -O3 is buggy; don't use it.
 
 CFLAGS=-DPNG_USE_PNGGCCRD -I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \
-        -fomit-frame-pointer  # $(WARNMORE) -g -DPNG_DEBUG=5
+	-fomit-frame-pointer  # $(WARNMORE) -g -DPNG_DEBUG=5
 LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng -lz -lm
 LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm
 
@@ -37,7 +37,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.9beta2
+PNGMIN = 1.0.9beta3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 65e0eba..baf6704 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.9beta2
+PNGMIN = 1.0.9beta3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # where make install puts libpng.a and png.h
diff --git a/scripts/makefile.intel b/scripts/makefile.intel
index b552263..b747070 100644
--- a/scripts/makefile.intel
+++ b/scripts/makefile.intel
@@ -42,9 +42,9 @@
 
 O=.obj
 
-OBJS=png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O)\
-     pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)\
-     pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O) pngvcrd$(O)
+OBJS=png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O) \
+pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O) \
+pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O) pngvcrd$(O)
 
 
 all: test
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index 1bb8ec3..3b88176 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -34,7 +34,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.9beta2
+PNGMIN = 1.0.9beta3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makefile.macosx b/scripts/makefile.macosx
new file mode 100644
index 0000000..093ea77
--- /dev/null
+++ b/scripts/makefile.macosx
@@ -0,0 +1,72 @@
+# makefile for libpng, MACOS X
+# Copyright (C) 1995 Guy Eric Schalnat, Group 42, Inc.
+# For conditions of distribution and use, see copyright notice in png.h
+
+# where make install puts libpng.a and png.h
+prefix=/usr/local
+
+# Where the zlib library and include files are located
+#ZLIBLIB=/usr/local/lib
+#ZLIBINC=/usr/local/include
+ZLIBLIB=../zlib
+ZLIBINC=../zlib
+
+CC=cc
+CFLAGS=-I$(ZLIBINC) -O # -g -DPNG_DEBUG=5
+LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz
+
+#RANLIB=echo
+RANLIB=ranlib
+
+OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
+	pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
+	pngwtran.o pngmem.o pngerror.o pngpread.o
+
+all: libpng.a pngtest
+
+libpng.a: $(OBJS)
+	ar rc $@  $(OBJS)
+	$(RANLIB) $@
+
+pngtest: pngtest.o libpng.a
+	$(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)
+
+test: pngtest
+	./pngtest
+
+install: libpng.a
+	-@mkdir $(prefix)/include
+	-@mkdir $(prefix)/lib
+	cp png.h $(prefix)/include
+	cp pngconf.h $(prefix)/include
+	chmod 644 $(prefix)/include/png.h
+	chmod 644 $(prefix)/include/pngconf.h
+	cp libpng.a $(prefix)/lib
+	chmod 644 $(prefix)/lib/libpng.a
+
+clean:
+	rm -f *.o libpng.a pngtest pngout.png
+
+DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
+writelock:
+	chmod a-w *.[ch35] $(DOCS) scripts/*
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+
+png.o: png.h pngconf.h
+pngerror.o: png.h pngconf.h
+pngrio.o: png.h pngconf.h
+pngwio.o: png.h pngconf.h
+pngmem.o: png.h pngconf.h
+pngset.o: png.h pngconf.h
+pngget.o: png.h pngconf.h
+pngread.o: png.h pngconf.h
+pngrtran.o: png.h pngconf.h
+pngrutil.o: png.h pngconf.h
+pngtest.o: png.h pngconf.h
+pngtrans.o: png.h pngconf.h
+pngwrite.o: png.h pngconf.h
+pngwtran.o: png.h pngconf.h
+pngwutil.o: png.h pngconf.h
+pngpread.o: png.h pngconf.h
+
diff --git a/scripts/makefile.msc b/scripts/makefile.msc
index 651281c..1cbfd91 100644
--- a/scripts/makefile.msc
+++ b/scripts/makefile.msc
@@ -9,7 +9,7 @@
 #-Ox generates bad code with MSC 5.1
 CC=cl
 LD=link
-LDFLAGS=/e/st:0x1500/noe 
+LDFLAGS=/e/st:0x1500/noe
 O=.obj
 
 #uncomment next to put error messages in a file
@@ -76,7 +76,7 @@
 	lib libpng $(OBJS2);
 	lib libpng $(OBJS3);
 
-pngtest.exe: pngtest.obj libpng.lib 
+pngtest.exe: pngtest.obj libpng.lib
 	$(LD) $(LDFLAGS) pngtest.obj,,,libpng.lib ..\zlib\zlib.lib ;
 
 test: pngtest.exe
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index ff979fa..38f92b1 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -16,7 +16,7 @@
 ZLIBLIB=../zlib
 ZLIBINC=../zlib
 
-CFLAGS= -dy -belf -I$(ZLIBINC) -O3 
+CFLAGS= -dy -belf -I$(ZLIBINC) -O3
 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
 
 #RANLIB=ranlib
@@ -25,7 +25,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.9beta2
+PNGMIN = 1.0.9beta3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index 650c6a9..978baef 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -19,8 +19,8 @@
 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm
 LDSHARED=gcc -shared
 
-VER=1.0.9beta2
-LIBS=libpng.so.1.0.9beta2
+VER=1.0.9beta3
+LIBS=libpng.so.1.0.9beta3
 SHAREDLIB=libpng.so
 libdir=$(prefix)/lib32
 
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index f8e6425..eb8cf32 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -31,7 +31,7 @@
 # read libpng.txt or png.h to see why PNGMAJ is 2.  You should not
 # have to change it.
 PNGMAJ = 2
-PNGMIN = 1.0.9beta2
+PNGMIN = 1.0.9beta3
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makefile.vcawin32 b/scripts/makefile.vcawin32
index 4c05ff4..57ce510 100644
--- a/scripts/makefile.vcawin32
+++ b/scripts/makefile.vcawin32
@@ -84,7 +84,7 @@
 	del libpng.lib
 	lib /OUT:libpng.lib $(OBJS1) $(OBJS2) $(OBJS3)
 
-pngtest.exe: pngtest.obj libpng.lib 
+pngtest.exe: pngtest.obj libpng.lib
 	$(LD) $(LDFLAGS) pngtest.obj libpng.lib ..\zlib\zlib.lib /OUT:pngtest.exe /SUBSYSTEM:CONSOLE
 
 test: pngtest.exe
diff --git a/scripts/makefile.vcwin32 b/scripts/makefile.vcwin32
index a2d8e27..a5e88d8 100644
--- a/scripts/makefile.vcwin32
+++ b/scripts/makefile.vcwin32
@@ -77,7 +77,7 @@
 	del libpng.lib
 	lib /OUT:libpng.lib $(OBJS1) $(OBJS2) $(OBJS3)
 
-pngtest.exe: pngtest.obj libpng.lib 
+pngtest.exe: pngtest.obj libpng.lib
 	$(LD) $(LDFLAGS) pngtest.obj libpng.lib ..\zlib\zlib.lib /OUT:pngtest.exe /SUBSYSTEM:CONSOLE
 
 test: pngtest.exe
diff --git a/scripts/makevms.com b/scripts/makevms.com
index 0037326..b9e3895 100644
--- a/scripts/makevms.com
+++ b/scripts/makevms.com
@@ -14,7 +14,7 @@
 $   set def [-.pngminus]
 $   @makevms
 $   set def [--]
-$   exit 
+$   exit
 $ endif
 $ Make = ""
 $ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
@@ -54,7 +54,7 @@
 $  then
 $   dele pngtest.obj;*
 $   CALL MAKE png.OBJ "cc ''CCOPT' png" -
-	png.c png.h pngconf.h   
+	png.c png.h pngconf.h
 $   CALL MAKE pngpread.OBJ "cc ''CCOPT' pngpread" -
 					 pngpread.c png.h pngconf.h
 $   CALL MAKE pngset.OBJ "cc ''CCOPT' pngset" -
@@ -90,8 +90,8 @@
 $   write sys$output "Building pngtest..."
 $   CALL MAKE pngtest.OBJ "cc ''CCOPT' pngtest" -
 	pngtest.c png.h pngconf.h
-$   call make pngtest.exe - 
-	"LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" - 
+$   call make pngtest.exe -
+	"LINK pngtest,libpng.olb/lib,''zlibsrc'libz.olb/lib" -
 	pngtest.obj libpng.olb
 $   write sys$output "Testing Libpng..."
 $   run pngtest
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index 90e381f..23946aa 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -5,7 +5,7 @@
 interface
 
 const
-  PNG_LIBPNG_VER_STRING = '1.0.9beta2';
+  PNG_LIBPNG_VER_STRING = '1.0.9beta3';
   PNG_LIBPNG_VER        =  10009;
 
 type
@@ -209,7 +209,7 @@
   PNG_CRC_WARN_DISCARD = 2;  // (INVALID)           warn/discard data
   PNG_CRC_WARN_USE     = 3;  // warn/use data       warn/use data
   PNG_CRC_QUIET_USE    = 4;  // quiet/use data      quiet/use data
-  PNG_CRC_NO_CHANGE    = 5;  // use current value   use current value 
+  PNG_CRC_NO_CHANGE    = 5;  // use current value   use current value
 
 // Flags for png_set_filter() to say which filters to use.  The flags
 // are chosen so that they don't conflict with real filter types
@@ -241,7 +241,7 @@
   PNG_FILTER_HEURISTIC_DEFAULT    = 0;  // Currently "UNWEIGHTED"
   PNG_FILTER_HEURISTIC_UNWEIGHTED = 1;  // Used by libpng < 0.95
   PNG_FILTER_HEURISTIC_WEIGHTED   = 2;  // Experimental feature
-  PNG_FILTER_HEURISTIC_LAST       = 3;  // Not a valid value 
+  PNG_FILTER_HEURISTIC_LAST       = 3;  // Not a valid value
 
 procedure png_build_grayscale_palette(bit_depth: int; palette: png_colorp);
              stdcall;
@@ -340,7 +340,7 @@
              var unit_type: int): png_uint_32;
              stdcall;
 function png_get_sCAL(png_ptr: png_structp; info_ptr: png_infop;
-             var unit:int; var width: png_uint_32; height: png_uint_32): 
+             var unit:int; var width: png_uint_32; height: png_uint_32):
              png_uint_32;
              stdcall
 function png_get_pCAL(png_ptr: png_structp; info_ptr: png_infop;
@@ -373,7 +373,7 @@
              stdcall;
 function png_get_sRGB(png_ptr: png_structp; info_ptr: png_infop;
              var file_srgb_intent: int): png_uint_32;
-             stdcall; 
+             stdcall;
 function png_get_signature(png_ptr: png_structp; info_ptr: png_infop):
              png_bytep;
              stdcall;
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index dcb9a32..333f056 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -297,11 +297,11 @@
   png_pass_dsp_mask
 ; png_pass_width
 ; png_pass_height
-  png_get_iCCP 
+  png_get_iCCP
   png_get_sCAL
-  png_get_sPLT 
-  png_set_iCCP 
-  png_set_sPLT 
+  png_get_sPLT
+  png_set_iCCP
+  png_set_sPLT
   png_free_data
 
   png_IHDR