Imported from libpng-1.0.0a.tar
diff --git a/CHANGES b/CHANGES
index d03810d..865fbdb 100644
--- a/CHANGES
+++ b/CHANGES
@@ -271,3 +271,10 @@
 version 1.0.0 [March 8, 1998]
    Changed name from 1.00 to 1.0.0 (Adam Costello)
    Added smakefile.ppc (with SCOPTIONS.ppc) for Amiga PPC (Andreas Kleinert)
+version 1.0.0a [March 9, 1998]
+   Fixed three bugs in pngrtran.c to make gamma+background handling consistent
+   (Greg Roelofs)
+   Changed format of the PNG_LIBPNG_VER integer to xyyzz instead of xyz
+   for major, minor, and bugfix releases.  This is 10001. (Adam Costello,
+   Tom Lane)
+   Make months range from 1-12 in png_convert_to_rfc1123
diff --git a/INSTALL b/INSTALL
index 6df4c0b..0ddfb2a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.0.0 March 8, 1998
+Installing libpng version 1.0.0a March 9, 1998
 
 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.0 or "lpng100" and "zlib-1.1.1"
+might be called "libpng-1.0.0a or "lpng100" and "zlib-1.1.1"
 or "zlib111") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
diff --git a/README b/README
index 5091707..2b0b142 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.0.0 (shared library 2.1)
+README for libpng 1.0.0a (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.
diff --git a/libpng.3 b/libpng.3
index a62d7fe..ef77158 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,4 +1,4 @@
-.TH LIBPNG 3 "March 8, 1998"
+.TH LIBPNG 3 "March 9, 1998"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library
 .SH SYNOPSIS
@@ -396,7 +396,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.0 March 8, 1998
+ libpng version 1.0.0a March 9, 1998
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alumni.rpi.edu>
  Copyright (c) 1998, Glenn Randers-Pehrson
@@ -2291,28 +2291,29 @@
 The following table summarizes matters since version 0.89c, which was
 the first widely used release:
 
- source                    png.h     shared-lib
- version                   string    version
- -------                   ------    ----------
- 0.89c ("1.0 beta 3")      0.89      1.0.89
- 0.90  ("1.0 beta 4")      0.90      0.90
-                        [should have been 2.0.90]
- 0.95  ("1.0 beta 5")      0.95      0.95
-                        [should have been 2.0.95]
- 0.96  ("1.0 beta 6")      0.96      0.96
-                        [should have been 2.0.96]
- 0.97b ("1.00.97 beta 7")  1.00.97   1.0.0
-                         [should have been 2.0.97]
- 0.97c                     0.97      2.0.97
- 0.98                      0.98      2.0.98
- 0.99                      0.99      2.0.99
- 0.99a-m                   0.99      2.0.99
- 1.0.0                     1.00      2.1.0
+   source     png.h   png.h   shared-lib
+   version    string    int   version
+   -------    ------  ------  ----------
+   0.89c      0.89        89  1.0.89
+   0.90       0.90        90  0.90  [should be 2.0.90]
+   0.95       0.95        95  0.95  [should be 2.0.95]
+   0.96       0.96        96  0.96  [should be 2.0.96]
+   0.97b 7")  1.00.97     97  1.0.1 [should be 2.0.97]
+   0.97c      0.97        97  2.0.97
+   0.98       0.98        98  2.0.98
+   0.99       0.99        98  2.0.99
+   0.99a-m    0.99        99  2.0.99
+   1.00       1.00       100  2.1.0 [should be 10000]
+   1.0.0      1.0.0      100  2.1.0 [should be 10000]
+   1.0.1      1.0.1    10001  2.1.0
 
-Henceforth the source version will match the shared-library minor
-and patch numbers; the shared-library major version number will be
+Henceforth the source version will match the shared-library
+minor and patch numbers; the shared-library major version number will be
 used for changes in backward compatibility, as it is intended.
-
+The PNG_PNGLIB_VER macro, which is not used within libpng but
+is available for applications, is an unsigned integer of the form
+xyyzz corresponding to the source version x.y.z (leading zeros in y and z)
+ 
 .SH "SEE ALSO"
 libpngpf(3), png(5)
 .LP
@@ -2365,7 +2366,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
   
-Libpng version 1.0.0 (March 8, 1998):
+Libpng version 1.0.0a March 9, 1998:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (randeg@alumni.rpi.edu).
 
diff --git a/libpng.txt b/libpng.txt
index 6ce69ed..602efd8 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.0 March 8, 1998
+ libpng version 1.0.0a March 9, 1998
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alumni.rpi.edu>
  Copyright (c) 1998, Glenn Randers-Pehrson
diff --git a/libpngpf.3 b/libpngpf.3
index d187aad..00730b9 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,4 +1,4 @@
-.TH LIBPNGPF 3 "March 8, 1998"
+.TH LIBPNGPF 3 "March 9, 1998"
 .SH NAME
 libpng \- Portable Network Graphics (PNG) Reference Library
 (private functions)
diff --git a/lpng100a b/lpng100a
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lpng100a
diff --git a/png.5 b/png.5
index d55b3a0..0ba9dff 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "March 8, 1998"
+.TH PNG 5 "March 9, 1998"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 0eff1a0..8200a05 100644
--- a/png.c
+++ b/png.c
@@ -1,12 +1,12 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  */
 
 #define PNG_INTERNAL
@@ -16,7 +16,7 @@
 /* Version information for C files.  This had better match the version
  * string defined in png.h.
  */
-char png_libpng_ver[6] = "1.0.0";
+char png_libpng_ver[12] = "1.0.0a";
 
 /* Place to hold the signature string for a PNG file. */
 png_byte FARDATA png_sig[8] = {137, 80, 78, 71, 13, 10, 26, 10};
diff --git a/png.h b/png.h
index af7a39b..e1c07e6 100644
--- a/png.h
+++ b/png.h
@@ -1,12 +1,12 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see the COPYRIGHT NOTICE below.
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998 Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  *
  * Note about libpng version numbers:
  *
@@ -16,23 +16,29 @@
  *    The following table summarizes matters since version 0.89c, which was
  *    the first widely used release:
  *
- *      source                    png.h     shared-lib
- *      version                   string    version
- *      -------                   ------    ----------
- *      0.89c ("1.0 beta 3")      0.89      1.0.89
- *      0.90  ("1.0 beta 4")      0.90      0.90  [should have been 2.0.90]
- *      0.95  ("1.0 beta 5")      0.95      0.95  [should have been 2.0.95]
- *      0.96  ("1.0 beta 6")      0.96      0.96  [should have been 2.0.96]
- *      0.97b ("1.00.97 beta 7")  1.00.97   1.0.0 [should have been 2.0.97]
- *      0.97c                     0.97      2.0.97
- *      0.98                      0.98      2.0.98
- *      0.99                      0.99      2.0.99
- *      0.99a-m                   0.99      2.0.99
- *      1.0.0                     1.00      2.1.0
+ *      source                    png.h   png.h   shared-lib
+ *      version                   string    int   version
+ *      -------                   ------  ------  ----------
+ *      0.89c ("1.0 beta 3")      0.89        89  1.0.89
+ *      0.90  ("1.0 beta 4")      0.90        90  0.90  [should have been 2.0.90]
+ *      0.95  ("1.0 beta 5")      0.95        95  0.95  [should have been 2.0.95]
+ *      0.96  ("1.0 beta 6")      0.96        96  0.96  [should have been 2.0.96]
+ *      0.97b ("1.00.97 beta 7")  1.00.97     97  1.0.1 [should have been 2.0.97]
+ *      0.97c                     0.97        97  2.0.97
+ *      0.98                      0.98        98  2.0.98
+ *      0.99                      0.99        98  2.0.99
+ *      0.99a-m                   0.99        99  2.0.99
+ *      1.00                      1.00       100  2.1.0 [int should be 10000]
+ *      1.0.0                     1.0.0      100  2.1.0 [int should be 10000]
+ *      1.0.1                     1.0.1    10001  2.1.0
  *
  *    Henceforth the source version will match the shared-library minor
  *    and patch numbers; the shared-library major version number will be
  *    used for changes in backward compatibility, as it is intended.
+ *    The PNG_PNGLIB_VER macro, which is not used within libpng but
+ *    is available for applications, is an unsigned integer of the form
+ *    xyyzz corresponding to the source version x.y.z (leading zeros in y and z)
+ *    
  *
  * See libpng.txt for more information.  The PNG specification is available
  * as RFC 2083 <ftp://ftp.uu.net/graphics/png/documents/>
@@ -112,19 +118,21 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.0"
+#define PNG_LIBPNG_VER_STRING "1.0.0a"
 
-/* careful here.  At one time, I wanted to use 082, but that would be octal.
- * Version 1.0.0 will be 100 here, etc.
- */
-#define PNG_LIBPNG_VER  100
+/* Gareful here.  At one time, Guy wanted to use 082, but that would be octal.
+ * We must not include leading zeroes.
+ * Versions 0.7 through 1.0.0 were in the range 0 to 100 here (only
+ * version 1.0.0 was mis-numbered 100 instead of 10000).  From
+ * version 1.0.1 it's    xxyyzz, where x=major, y=minor, z-bugfix*/
+#define PNG_LIBPNG_VER    10001
 
 /* variables declared in png.c - only it needs to define PNG_NO_EXTERN */
 #if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN)
 /* Version information for C files, stored in png.c.  This had better match
  * the version above.
  */
-extern char png_libpng_ver[6];
+extern char png_libpng_ver[12];   /* need room for 99.99.99aa */
 
 /* Structures to facilitate easy interlacing.  See png.c for more details */
 extern int FARDATA png_pass_start[7];
@@ -1834,7 +1842,7 @@
 PNG_EXTERN void png_do_swap PNGARG((png_row_infop row_info, png_bytep row));
 #endif
 
-#if defined(PNG_READ_PACKSWAP_SUPPORTED) || defined(PNG_WRITE_PACKSWAP_SUPPOR)
+#if defined(PNG_READ_PACKSWAP_SUPPORTED) || defined(PNG_WRITE_PACKSWAP_SUPPORTED)
 PNG_EXTERN void png_do_packswap PNGARG((png_row_infop row_info, png_bytep row));
 #endif
 
diff --git a/pngconf.h b/pngconf.h
index a10650d..c0fa6a0 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,12 +1,12 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  */
 
 /* Any machine specific code is near the front of this file, so if you
diff --git a/pngerror.c b/pngerror.c
index 98827a9..3358d40 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,12 +1,12 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  *
  * This file provides a location for all error handling.  Users which
  * need special error handling are expected to write replacement functions
diff --git a/pngget.c b/pngget.c
index 0ae1eb7..9ec1696 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,12 +1,12 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  */
 
 #define PNG_INTERNAL
diff --git a/pngmem.c b/pngmem.c
index e43474b..fa63310 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,12 +1,12 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  *
  * This file provides a location for all memory allocation.  Users which
  * need special memory handling are expected to modify the code in this file
diff --git a/pngpread.c b/pngpread.c
index 47ece54..c8b4887 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,12 +1,12 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  */
 
 #define PNG_INTERNAL
diff --git a/pngread.c b/pngread.c
index cd17bca..fe00705 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,12 +1,12 @@
 
 /* pngread.c - read a PNG file
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  *
  * This file contains routines that an application calls directly to
  * read a PNG file or stream.
@@ -719,10 +719,8 @@
 #endif
    if (png_ptr->flags & PNG_FLAG_FREE_PALETTE)
       png_zfree(png_ptr, png_ptr->palette);
-#if defined(PNG_READ_BACKGROUND_SUPPORTED) && defined(PNG_READ_bKGD_SUPPORTED)
    if (png_ptr->flags & PNG_FLAG_FREE_TRANS)
       png_free(png_ptr, png_ptr->trans);
-#endif
 #if defined(PNG_READ_hIST_SUPPORTED)
    if (png_ptr->flags & PNG_FLAG_FREE_HIST)
       png_free(png_ptr, png_ptr->hist);
diff --git a/pngrio.c b/pngrio.c
index 4623820..8998b3c 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,12 +1,12 @@
 
 /* pngrio.c - functions for data input
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  *
  * This file provides a location for all input.  Users which need
  * special handling are expected to write a function which has the same
diff --git a/pngrtran.c b/pngrtran.c
index 88ab902..9f02191 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,12 +1,12 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  *
  * This file contains functions optionally called by an application 
  * in order to tell libpng how to handle data when reading a PNG.
@@ -665,7 +665,8 @@
         if (png_ptr->transformations & PNG_INVERT_ALPHA)
         {
 #if defined(PNG_READ_EXPAND_SUPPORTED)
-           if (png_ptr->transformations & !PNG_EXPAND)
+           /* GRR BUG #1:  was (png_ptr->transformations & !PNG_EXPAND) */
+           if (!(png_ptr->transformations & PNG_EXPAND))
 #endif
            {
            /* invert the alpha channel (in tRNS) unless the pixels are 
@@ -712,41 +713,65 @@
             }
             else
             {
-               double g;
+               double g, gs;
 
-               g = 1.0 / (png_ptr->background_gamma * png_ptr->screen_gamma);
-
-               if (png_ptr->background_gamma_type==PNG_BACKGROUND_GAMMA_SCREEN||
-                   fabs(g - 1.0) < PNG_GAMMA_THRESHOLD)
+/*
+               GRR BUG #3:  inconsistent with handling of full RGBA below
+               g = 1.0 / png_ptr->background_gamma;
+               gs = 1.0 / (png_ptr->background_gamma * png_ptr->screen_gamma);
+ */
+               switch (png_ptr->background_gamma_type)
                {
-                  back.red = (png_byte)png_ptr->background.red;
+                  case PNG_BACKGROUND_GAMMA_SCREEN:
+                     g = (png_ptr->screen_gamma);
+                     gs = 1.0;
+                     break;
+                  case PNG_BACKGROUND_GAMMA_FILE:
+                     g = 1.0 / (png_ptr->gamma);
+                     gs = 1.0 / (png_ptr->gamma * png_ptr->screen_gamma);
+                     break;
+                  case PNG_BACKGROUND_GAMMA_UNIQUE:
+                     g = 1.0 / (png_ptr->background_gamma);
+                     gs = 1.0 / (png_ptr->background_gamma *
+                                 png_ptr->screen_gamma);
+                     break;
+                  default:
+                     g = 1.0;    /* back_1 */
+                     gs = 1.0;   /* back */
+               }
+
+               if (
+/*
+                   GRR BUG #2:  This creates self-inconsistent images--fully
+                     transparent and fully opaque look fine, but translucent
+                     pixels are wrong (too bright if XV's code can be trusted).
+                     Commenting it out makes an internally self-consistent
+                     image, but still not consistent with RGBA version of same
+                     thing (again, too bright in XV).
+                   png_ptr->background_gamma_type==PNG_BACKGROUND_GAMMA_SCREEN||
+ */
+                   fabs(gs - 1.0) < PNG_GAMMA_THRESHOLD)
+               {
+                  back.red   = (png_byte)png_ptr->background.red;
                   back.green = (png_byte)png_ptr->background.green;
-                  back.blue = (png_byte)png_ptr->background.blue;
+                  back.blue  = (png_byte)png_ptr->background.blue;
                }
                else
                {
-                  back.red =
-                     (png_byte)(pow((double)png_ptr->background.red/255, g) *
-                      255.0 + 0.5);
-                  back.green =
-                     (png_byte)(pow((double)png_ptr->background.green/255, g) *
-                      255.0 + 0.5);
-                  back.blue =
-                     (png_byte)(pow((double)png_ptr->background.blue/255, g) *
-                      255.0 + 0.5);
+                  back.red = (png_byte)(pow(
+                     (double)png_ptr->background.red/255, gs) * 255.0 + .5);
+                  back.green = (png_byte)(pow(
+                     (double)png_ptr->background.green/255, gs) * 255.0 + .5);
+                  back.blue = (png_byte)(pow(
+                     (double)png_ptr->background.blue/255, gs) * 255.0 + .5);
                }
 
-               g = 1.0 / png_ptr->background_gamma;
-
-               back_1.red =
-                  (png_byte)(pow((double)png_ptr->background.red/255, g) *
-                   255.0 + 0.5);
-               back_1.green =
-                  (png_byte)(pow((double)png_ptr->background.green/255, g) *
-                   255.0 + 0.5);
-               back_1.blue =
-                  (png_byte)(pow((double)png_ptr->background.blue/255, g) *
-                   255.0 + 0.5);
+               back_1.red = (png_byte)(pow(
+                  (double)png_ptr->background.red/255, g) * 255.0 + .5);
+               back_1.green = (png_byte)(pow(
+                  (double)png_ptr->background.green/255, g) * 255.0 + .5);
+               back_1.blue = (png_byte)(pow(
+                  (double)png_ptr->background.blue/255, g) * 255.0 + .5);
             }
 
             for (i = 0; i < num_palette; i++)
diff --git a/pngrutil.c b/pngrutil.c
index ea5b26a..7394e15 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,12 +1,12 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  *
  * This file contains routines which are only called from within
  * libpng itself during the course of reading an image.
diff --git a/pngset.c b/pngset.c
index 957e0d7..5e1a581 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,12 +1,12 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  *
  * The functions here are used during reads to store data from the file
  * into the info struct, and during writes to store application data
diff --git a/pngtest.c b/pngtest.c
index 568d21e..f34b616 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,12 +1,12 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  *
  * This program reads in a PNG image, writes it out again, and then
  * compares the two files.  If the files are identical, this shows that
diff --git a/pngtrans.c b/pngtrans.c
index 7d8a5b2..c6b4ff0 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,12 +1,12 @@
 
 /* pngtrans.c - transforms the data in a row (used by both readers and writers)
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  */
 
 #define PNG_INTERNAL
diff --git a/pngwio.c b/pngwio.c
index 676cc2f..a25ec9b 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,12 +1,12 @@
 
 /* pngwio.c - functions for data output
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  *
  * This file provides a location for all output.  Users which need
  * special handling are expected to write functions which have the same
diff --git a/pngwrite.c b/pngwrite.c
index 1cdc9c3..4a9a413 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,12 +1,12 @@
    
 /* pngwrite.c - general routines to write a PNG file
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  */
 
 /* get internal access to png.h */
@@ -239,7 +239,7 @@
    {
       char near_time_buf[29];
       sprintf(near_time_buf, "%d %s %d %02d:%02d:%02d +0000",
-               ptime->day % 31, short_months[ptime->month],
+               ptime->day % 31, short_months[ptime->month - 1],
                ptime->year, ptime->hour % 24, ptime->minute % 60,
                ptime->second % 61);
       png_memcpy(png_ptr->time_buffer, near_time_buf,
@@ -247,7 +247,7 @@
    }
 #else
    sprintf(png_ptr->time_buffer, "%d %s %d %02d:%02d:%02d +0000",
-               ptime->day % 31, short_months[ptime->month],
+               ptime->day % 31, short_months[ptime->month - 1],
                ptime->year, ptime->hour % 24, ptime->minute % 60,
                ptime->second % 61);
 #endif
diff --git a/pngwtran.c b/pngwtran.c
index 0effc39..fbf2689 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,12 +1,12 @@
 
 /* pngwtran.c - transforms the data in a row for PNG writers
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  */
 
 #define PNG_INTERNAL
diff --git a/pngwutil.c b/pngwutil.c
index 459c932..2a76304 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,12 +1,12 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * libpng 1.0.0
+ * libpng 1.0.0a
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
  * Copyright (c) 1998, Glenn Randers-Pehrson
- * March 8, 1998
+ * March 9, 1998
  */
 
 #define PNG_INTERNAL
@@ -340,7 +340,7 @@
    png_byte buf[4];
 
    png_debug(1, "in png_write_gAMA\n");
-   /* file_gamma is saved in 1/100,000ths */
+   /* file_gamma is saved in 1/1000000ths */
    igamma = (png_uint_32)(file_gamma * 100000.0 + 0.5);
    png_save_uint_32(buf, igamma);
    png_write_chunk(png_ptr, png_gAMA, buf, (png_size_t)4);
@@ -426,7 +426,7 @@
    png_byte buf[32];
 
    png_debug(1, "in png_write_cHRM\n");
-   /* each value is saved int 1/100,000ths */
+   /* each value is saved int 1/1000000ths */
    if (white_x < 0 || white_x > 0.8 || white_y < 0 || white_y > 0.8 ||
        white_x + white_y > 1.0)
    {