diff --git a/ANNOUNCE b/ANNOUNCE
index 83fa5fd..16d0300 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,18 +1,19 @@
 
-Libpng 1.0.2a - December 29, 1998
+Libpng 1.0.2b - January 6, 1999
 
 This is not intended to be a public release.  It will be replaced
 within a few weeks by a public version or by another test version.
 
 Changes since the last public release:
 
-libpng-1.0.2a:
-
+version 1.0.2a [December 30, 1998]
   Replaced and extended code that was removed from png_set_filler() in 1.0.1a.
   Fixed a bug in png_do_filler() that made it fail to write filler bytes in
     the left-most pixel of each row (Kevin Bracey).
   Changed "static pngcharp tIME_string" to "static char tIME_string[30]"
     in pngtest.c (Duncan Simpson).
+  Fixed a bug in pngtest.c that caused pngtest to try to write a tIME chunk
+    even when no tIME chunk was present in the source file.
   Fixed a problem in pngrutil.c: gray_to_rgb didn't always work with 16-bit.
   Fixed a problem in png_read_push_finish_row(), which would not skip some
     passes that it should skip, for images that are less than 3 pixels high.
@@ -31,6 +32,12 @@
   Removed lines after Dynamic Dependencies" in makefile.aco .
   Revised makefile.dec to make a shared library (Jeremie Petit).
   Removed trailing blanks from all files. 
+version 1.0.2b [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
+  Changed "check_if_png" function in example.c to return true (nonzero) if PNG.
+  Changed libpng.txt to demonstrate png_sig_cmp() instead of png_check_sig()
+    which is obsolete.
 
 Send comments/corrections/commendations to
 png-implement@dworkin.wustl.edu or to randeg@alumni.rpi.edu
diff --git a/CHANGES b/CHANGES
index 05c7c62..acdb89b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -352,12 +352,14 @@
   Added makefile.w32, for Microsoft C++ 4.0 and later (Tim Wegner).
 version 1.0.2 [June 14, 1998]
   Fixed two bugs in makefile.bor .
-version 1.0.2a [December 29, 1998]
+version 1.0.2a [December 30, 1998]
   Replaced and extended code that was removed from png_set_filler() in 1.0.1a.
   Fixed a bug in png_do_filler() that made it fail to write filler bytes in
     the left-most pixel of each row (Kevin Bracey).
   Changed "static pngcharp tIME_string" to "static char tIME_string[30]"
     in pngtest.c (Duncan Simpson).
+  Fixed a bug in pngtest.c that caused pngtest to try to write a tIME chunk
+    even when no tIME chunk was present in the source file.
   Fixed a problem in pngrutil.c: gray_to_rgb didn't always work with 16-bit.
   Fixed a problem in png_read_push_finish_row(), which would not skip some
     passes that it should skip, for images that are less than 3 pixels high.
@@ -376,3 +378,9 @@
   Removed lines after Dynamic Dependencies" in makefile.aco .
   Revised makefile.dec to make a shared library (Jeremie Petit).
   Removed trailing blanks from all files. 
+version 1.0.2b [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
+  Changed "check_if_png" function in example.c to return true (nonzero) if PNG.
+  Changed libpng.txt to demonstrate png_sig_cmp() instead of png_check_sig()
+    which is obsolete.
diff --git a/INSTALL b/INSTALL
index 69151ee..15b194d 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.0.2a - December 29, 1998
+Installing libpng version 1.0.2b - January 6, 1999
 
 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.2a" or "lpng103" and "zlib-1.1.3"
+might be called "libpng-1.0.2b" or "lpng103" and "zlib-1.1.3"
 or "zlib113") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
diff --git a/KNOWNBUG b/KNOWNBUG
index 57c3bb7..4b601d3 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -68,6 +68,10 @@
    "static pngcharp tIME_string" should be changed to
    "static char tIME_string[30]" in pngtest.c
 
+   Also -- December 30, 1998 -- there are some misplaced brackets in
+   pngtest.c that cause pngtest to try to write a tIME chunk
+   even when no tIME chunk was present in the source file.
+
    STATUS: Fixed in libpng-1.0.2a
 
 8. August 24, 1998 -- BUG -- John Cromer
diff --git a/README b/README
index 5025c30..ee3c2d9 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.0.2a - December 29, 1998 (shared library 2.1)
+README for libpng 1.0.2b - January 6, 1999 (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/example.c b/example.c
index 2a6d8a0..088aad3 100644
--- a/example.c
+++ b/example.c
@@ -15,8 +15,11 @@
 
 #include "png.h"
 
-/* Check to see if a file is a PNG file using png_sig_cmp().  Returns
- * non-zero if the image is a PNG, and 0 if it isn't a PNG.
+/* Check to see if a file is a PNG file using png_sig_cmp().  png_sig_cmp()
+ * returns zero if the image is a PNG and nonzero if it isn't a PNG.
+ *
+ * The function check_if_png() shown here, but not used, returns nonzero (true)
+ * if the file can be opened and is a PNG, 0 (false) otherwise.
  *
  * If this call is successful, and you are going to keep the file open,
  * you should call png_set_sig_bytes(png_ptr, PNG_BYTES_TO_CHECK); once
@@ -41,12 +44,14 @@
    if ((*fp = fopen(file_name, "rb")) != NULL);
       return 0;
 
-   /* Read in the signature bytes */
+   /* Read in some of the signature bytes */
    if (fread(buf, 1, PNG_BYTES_TO_CHECK, *fp) != PNG_BYTES_TO_CHECK)
       return 0;
 
-   /* Compare the first PNG_BYTES_TO_CHECK bytes of the signature. */
-   return(png_sig_cmp(buf, (png_size_t)0, PNG_BYTES_TO_CHECK));
+   /* Compare the first PNG_BYTES_TO_CHECK bytes of the signature.
+      Return nonzero (true) if they match */
+
+   return(!png_sig_cmp(buf, (png_size_t)0, PNG_BYTES_TO_CHECK));
 }
 
 /* Read a PNG file.  You may want to return an error code if the read
diff --git a/libpng.3 b/libpng.3
index 08a4f1b..3464d58 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "December 29, 1998"
+.TH LIBPNG 3 "January 6, 1999"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.2a - December 29, 1998
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.2b - January 6, 1999
 .SH SYNOPSIS
 
 #include <png.h>
@@ -423,10 +423,10 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.2a - December 29, 1998
+ libpng version 1.0.2b - January 6, 1999
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alumni.rpi.edu>
- Copyright (c) 1998, Glenn Randers-Pehrson
+ Copyright (c) 1998, 1999, Glenn Randers-Pehrson
  For conditions of distribution and use, see copyright
  notice in png.h.
 
@@ -552,7 +552,7 @@
         return;
     }
     fread(header, 1, number, fp);
-    is_png = png_check_sig(header, 0, number);
+    is_png = !png_sig_cmp(header, 0, number);
     if (!is_png)
     {
         return;
@@ -2522,7 +2522,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
   
-Libpng version 1.0.2a - December 29, 1998:
+Libpng version 1.0.2b - January 6, 1999:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (randeg@alumni.rpi.edu).
 
@@ -2532,6 +2532,10 @@
 
 .SH COPYRIGHT NOTICE:
 
+Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
+Copyright (c) 1996, 1997 Andreas Dilger
+Copyright (c) 1998, 1999, Glenn Randers-Pehrson
+
 The PNG Reference Library (libpng) is supplied "AS IS".  The Contributing
 Authors and Group 42, Inc. disclaim all warranties, expressed or implied,
 including, without limitation, the warranties of merchantability and of
diff --git a/libpng.txt b/libpng.txt
index d256783..d52fc99 100644
--- a/libpng.txt
+++ b/libpng.txt
@@ -1,9 +1,9 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.0.2a - December 29, 1998
+ libpng version 1.0.2b - January 6, 1999
  Updated and distributed by Glenn Randers-Pehrson
  <randeg@alumni.rpi.edu>
- Copyright (c) 1998, Glenn Randers-Pehrson
+ Copyright (c) 1998, 1999, Glenn Randers-Pehrson
  For conditions of distribution and use, see copyright
  notice in png.h.
 
@@ -129,7 +129,7 @@
         return;
     }
     fread(header, 1, number, fp);
-    is_png = png_check_sig(header, 0, number);
+    is_png = !png_sig_cmp(header, 0, number);
     if (!is_png)
     {
         return;
diff --git a/libpngpf.3 b/libpngpf.3
index a7c205c..4fb6915 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "December 29, 1998"
+.TH LIBPNGPF 3 "January 6, 1999"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.2a - December 29, 1998
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.2b - January 6, 1999
 (private functions)
 .SH SYNOPSIS
 #include <png.h>
diff --git a/png.5 b/png.5
index 58596d8..b041956 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "December 29, 1998"
+.TH PNG 5 "January 6, 1999"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index 4cd1429..acab1cf 100644
--- a/png.c
+++ b/png.c
@@ -1,10 +1,10 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * libpng version 1.0.2a - December 29, 1998
+ * libpng version 1.0.2b - January 6, 1999
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
- * Copyright (c) 1998, Glenn Randers-Pehrson
+ * Copyright (c) 1998, 1999, Glenn Randers-Pehrson
  * 
  */
 
@@ -16,7 +16,7 @@
  * string defined in png.h.
  */
 
-char png_libpng_ver[12] = "1.0.2a";
+char png_libpng_ver[12] = "1.0.2b";
 
 /* Place to hold the signature string for a PNG file. */
 png_byte FARDATA png_sig[8] = {137, 80, 78, 71, 13, 10, 26, 10};
@@ -115,8 +115,8 @@
 }
 
 /* (Obsolete) function to check signature bytes.  It does not allow one
- * to check a partial signature.  This function will be removed in the
- * future - use png_sig_cmp().
+ * to check a partial signature.  This function might be removed in the
+ * future - use png_sig_cmp().  Returns true (nonzero) if the file is a PNG.
  */
 int
 png_check_sig(png_bytep sig, int num)
@@ -350,9 +350,10 @@
 png_charp
 png_get_copyright(png_structp png_ptr)
 {
-   return("\n libpng version 1.0.2a - December 29, 1998\n\
+   if(png_ptr == NULL)
+     /* silence compiler warning about unused png_ptr */ ;
+   return("\n libpng version 1.0.2b - January 6, 1999\n\
    Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.\n\
    Copyright (c) 1996, 1997 Andreas Dilger\n\
-   Copyright (c) 1998, Glenn Randers-Pehrson\n");
+   Copyright (c) 1998, 1999, Glenn Randers-Pehrson\n");
 }
-
diff --git a/png.h b/png.h
index 93b55c9..b1298f5 100644
--- a/png.h
+++ b/png.h
@@ -1,10 +1,10 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.0.2a - December 29, 1998
+ * libpng version 1.0.2b - January 6, 1999
  * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
  * Copyright (c) 1996, 1997 Andreas Dilger
- * Copyright (c) 1998, Glenn Randers-Pehrson
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  *
  * Note about libpng version numbers:
  *
@@ -119,7 +119,7 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.2a"
+#define PNG_LIBPNG_VER_STRING "1.0.2b"
 
 /* Careful here.  At one time, Guy wanted to use 082, but that would be octal.
  * We must not include leading zeros.
@@ -1490,12 +1490,16 @@
 #endif
 
 extern PNG_EXPORT(png_charp,png_get_copyright) PNGARG((png_structp png_ptr));
-#ifdef PNG_NO_EXTERN
 extern PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp png_ptr));
+
+#ifdef PNG_NO_EXTERN
+/* this only gets included in png.c */
 png_charp
 png_get_header_version(png_structp png_ptr)
 {
-   return("\n libpng version 1.0.2a - December 29, 1998 (header)\n");
+   if(png_ptr == NULL)
+     /* silence compiler warning about unused png_ptr */ ;
+   return("\n libpng version 1.0.2b - January 6, 1999 (header)\n");
 }
 #endif
 
@@ -2160,16 +2164,11 @@
 
 #endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
 
-#endif
- 
-
 #endif /* PNG_INTERNAL */
 
 #ifdef __cplusplus
 }
 #endif
 
-#ifdef PNG_NO_EXTERN
-
 /* do not put anything past this line */
 #endif /* _PNG_H */
diff --git a/pngconf.h b/pngconf.h
index e7ef28a..a19d8fa 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,11 +1,11 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999, Glenn Randers-Pehrson
  */
 
 /* Any machine specific code is near the front of this file, so if you
diff --git a/pngerror.c b/pngerror.c
index ebbb0dc..34a3e7b 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,11 +1,11 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  *
  * This file provides a location for all error handling.  Users who
  * need special error handling are expected to write replacement functions
@@ -136,12 +136,11 @@
 static void
 png_default_warning(png_structp png_ptr, png_const_charp message)
 {
-   if (png_ptr == NULL)
-      return;
-
 #ifndef PNG_NO_CONSOLE_IO
    fprintf(stderr, "libpng warning: %s\n", message);
 #endif
+   if (png_ptr == NULL)
+      return;
 }
 
 /* This function is called when the application wants to use another method
diff --git a/pngget.c b/pngget.c
index bb6fc3b..7128f00 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,11 +1,11 @@
 
 /* pngget.c - retrieval of values from info struct
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  */
 
 #define PNG_INTERNAL
diff --git a/pngmem.c b/pngmem.c
index b472e54..73ca254 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,11 +1,11 @@
 
 /* pngmem.c - stub functions for memory allocation
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  *
  * This file provides a location for all memory allocation.  Users who
  * need special memory handling are expected to supply replacement
diff --git a/pngpread.c b/pngpread.c
index abf1dcb..23476e9 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,11 +1,11 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  */
 
 #define PNG_INTERNAL
diff --git a/pngread.c b/pngread.c
index 597d9d5..14f8e53 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,11 +1,11 @@
 
 /* pngread.c - read a PNG file
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  *
  * This file contains routines that an application calls directly to
  * read a PNG file or stream.
@@ -530,7 +530,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.2a.
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.2b.
  */
 
 void
@@ -579,7 +579,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.2a.
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.2b.
  */
 void
 png_read_image(png_structp png_ptr, png_bytepp image)
diff --git a/pngrio.c b/pngrio.c
index a916b8c..665cb0c 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,11 +1,11 @@
 
 /* pngrio.c - functions for data input
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  *
  * This file provides a location for all input.  Users who need
  * special handling are expected to write a function that has the same
diff --git a/pngrtran.c b/pngrtran.c
index fd4ec22..296bd14 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,11 +1,11 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  *
  * This file contains functions optionally called by an application
  * in order to tell libpng how to handle data when reading a PNG.
diff --git a/pngrutil.c b/pngrutil.c
index 880ab54..4d71fef 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,11 +1,11 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  *
  * This file contains routines that are only called from within
  * libpng itself during the course of reading an image.
diff --git a/pngset.c b/pngset.c
index 4a1f196..cf14626 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,11 +1,11 @@
 
 /* pngset.c - storage of image information into info struct
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  *
  * 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 e4300d6..55b31df 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,11 +1,11 @@
 
 /* pngtest.c - a simple test program to test libpng
  *
- * libpng 1.0.2a -December 29, 1998
+ * libpng 1.0.2b -January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  *
  * 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
@@ -735,16 +735,14 @@
       if (png_get_tIME(read_ptr, read_info_ptr, &mod_time))
       {
          png_set_tIME(write_ptr, write_info_ptr, mod_time);
-      }
 #if defined(PNG_TIME_RFC1123_SUPPORTED)
-      {
          /* we have to use png_strcpy instead of "=" because the string
             pointed to by png_convert_to_rfc1123() gets free'ed before
             we use it */
          png_strcpy(tIME_string,png_convert_to_rfc1123(read_ptr, mod_time));
          tIME_chunk_present++;
-      }
 #endif /* PNG_TIME_RFC1123_SUPPORTED */
+      }
    }
 #endif
 #if defined(PNG_READ_tRNS_SUPPORTED) && defined(PNG_WRITE_tRNS_SUPPORTED)
diff --git a/pngtrans.c b/pngtrans.c
index f8abd44..beb7ab0 100644
--- a/pngtrans.c
+++ b/pngtrans.c
@@ -1,11 +1,11 @@
 
 /* pngtrans.c - transforms the data in a row (used by both readers and writers)
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  */
 
 #define PNG_INTERNAL
diff --git a/pngwio.c b/pngwio.c
index 2d3243b..63e5e3c 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,11 +1,11 @@
 
 /* pngwio.c - functions for data output
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  *
  * This file provides a location for all output.  Users who need
  * special handling are expected to write functions that have the same
diff --git a/pngwrite.c b/pngwrite.c
index 5966c9b..2618e10 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,11 +1,11 @@
 
 /* pngwrite.c - general routines to write a PNG file
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  */
 
 /* get internal access to png.h */
diff --git a/pngwtran.c b/pngwtran.c
index d14c659..45a9406 100644
--- a/pngwtran.c
+++ b/pngwtran.c
@@ -1,11 +1,11 @@
 
 /* pngwtran.c - transforms the data in a row for PNG writers
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  */
 
 #define PNG_INTERNAL
diff --git a/pngwutil.c b/pngwutil.c
index ea078f6..f257b5e 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,11 +1,11 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * libpng 1.0.2a - December 29, 1998
+ * libpng 1.0.2b - January 6, 1999
  * 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
+ * Copyright (c) 1998, 1999 Glenn Randers-Pehrson
  */
 
 #define PNG_INTERNAL
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index 0fb800a..d5cbc8b 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -14,7 +14,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.2a
+PNGMIN = 1.0.2b
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 CC=cc
diff --git a/scripts/makefile.lnx b/scripts/makefile.lnx
index c070cf9..c85d9e2 100644
--- a/scripts/makefile.lnx
+++ b/scripts/makefile.lnx
@@ -32,7 +32,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.2a
+PNGMIN = 1.0.2b
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makefile.s2x b/scripts/makefile.s2x
index 3b39897..8c3aa9b 100644
--- a/scripts/makefile.s2x
+++ b/scripts/makefile.s2x
@@ -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.2a
+PNGMIN = 1.0.2b
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index c6913e20..ca70185 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -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.2a
+PNGMIN = 1.0.2b
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 INCPATH=$(prefix)/include
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index 92ddb8a..d0e9d4d 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -3,7 +3,7 @@
 interface
 
 const
-  PNG_LIBPNG_VER_STRING = '1.0.2a';
+  PNG_LIBPNG_VER_STRING = '1.0.2b';
   PNG_LIBPNG_VER        =  10001;
 
 type
