Imported from libpng-1.0.9rc1.tar
diff --git a/ANNOUNCE b/ANNOUNCE
index 5fe5310..6e4ac0f 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
-Libpng 1.0.9beta6 - December 18, 2000
+Libpng 1.0.9rc1 - December 23, 2000
This is a public release of libpng, intended for use in production codes.
@@ -39,11 +39,8 @@
Added new PNG_HAVE_PNG_SIGNATURE bit to png_ptr->mode and use it to
help prevent applications from using MNG features in PNG datastreams.
Revised libpng.3/libpng.txt. Changed "filter type" to "filter method".
-
-Send comments/corrections/commendations to
-png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
-
-Glenn R-P
+ Fixed error handling of unknown compression type in png_decompress_chunk().
+ In pngconf.h, define __cdecl when _MSC_VER is defined.
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/CHANGES b/CHANGES
index 3bc3321..13f4da3 100644
--- a/CHANGES
+++ b/CHANGES
@@ -862,6 +862,10 @@
Added new PNG_HAVE_PNG_SIGNATURE bit to png_ptr->mode and use it to
help prevent applications from using MNG features in PNG datastreams.
Revised libpng.3/libpng.txt. Changed "filter type" to "filter method".
+version 1.0.9rc1 [December 23, 2000]
+ Revised test for PNG_HAVE_PNG_SIGNATURE in pngrutil.c
+ Fixed error handling of unknown compression type in png_decompress_chunk().
+ In pngconf.h, define __cdecl when _MSC_VER is defined.
Send comments/corrections/commendations to
png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu
diff --git a/INSTALL b/INSTALL
index cfa0451..78a8aff 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
-Installing libpng version 1.0.9beta6 - December 18, 2000
+Installing libpng version 1.0.9rc1 - December 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.9beta6" or "lpng109" and "zlib-1.1.3"
+might be called "libpng-1.0.9rc1" 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:
@@ -59,8 +59,8 @@
include
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
- makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta6)
- makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9beta6,
+ makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9rc1)
+ makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.9rc1,
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
@@ -75,9 +75,9 @@
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.9beta6)
+ makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.9rc1)
makefile.sunos => Sun makefile
- makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.9beta6)
+ makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.9rc1)
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.mips => MIPS makefile
makefile.acorn => Acorn makefile
diff --git a/KNOWNBUG b/KNOWNBUG
index 3f057d2..9d5ea9a 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,72 +1,4 @@
-Known bugs and suggested enhancements in libpng-1.0.8
+Known bugs in libpng-1.0.9
-1: November 28, 2000 -- BUG -- buffer overflow in png_chunk_warning
-
- A buffer overflow occurs in png_chunk_warning() because 16 bytes
- are allocated for "[nn][nn][nn][nn]" which requires 18 bytes.
-
- Status: Fixed in libpng-1.0.9beta4
-
-2: November 3, 2000 -- BUG -- incorrect iCCP chunk is written
-
- The compression_type byte in the iCCP chunk written by libpng is
- usually incorrect.
-
- Status: Fixed in libpng-1.0.9beta1
-
-3. October 12, 2000 -- BUG -- pngtest fails
-
- The three WRITEFILE calls in pngtest.c are incorrect. They must be
- changed to read
-
- WRITEFILE((png_FILE_p)png_ptr->io_ptr, data, length, check);
- WRITEFILE(io_ptr, near_data, length, check);
- WRITEFILE(io_ptr, buf, written, err);
-
-4. August 28, 2000 -- BUG -- pnggccrd.c
-
- The interlacing() function has still not been fully converted and
- will not compile under gcc-2.95.2; it is currently ifdef'ed out.
-
- STATUS: Fixed in libpng-1.0.9. There were also bugs in pngvcrd.c
- which have been fixed. The replacement files are available at the
- PNG web site (http://www.libpng.org/pub/png).
-
-5. March 15, 1998 -- OPTIMIZATION -- Kevin Bracey
-
- Loops need to be optimized everywhere
-
- Make them count down instead of up -- Kevin Bracey
-
- Optimizing compilers don't need this, and making
- the change would be error prone -- Tom Lane, Glenn R-P
-
- Question whether i-- or --i is better.
-
- STATUS: Under investigation, postponed until after
- libpng-2.0.0. About 160 loops will be turned around
- in libpng-2.0.x betaxx, for testing.
-
-6. July 4, 1998 -- ENHANCEMENT -- Glenn R-P
-
- libpng-1.0.5 and earlier transform colors to gamma=1.0 space for
- merging with background, and then back to the image's gamma. The
- bit_depth of the intermediate (gamma=1.0) representation is probably
- not sufficient. In the typical gamma=1/2.2 situation, the linear
- pixels need about 4 more bits than the gamma-encoded ones, to avoid
- loss of precision. A similar situation exists with the rgb_to_gray
- operation.
-
- STATUS: under development.
-
-7. September 1999 -- ENHANCEMENT --
-
- It should be possible to use libpng without floating-point arithmetic.
-
- STATUS: Under investigation, implementation postponed until after
- libpng-2.0.0.
-
- Much of this was completed in libpng-1.0.6, but gamma compensation
- is not yet done in fixed-point arithmetic.
-
+None as of December 23, 2000.
diff --git a/LICENSE b/LICENSE
index b7f1dd9..bd53222 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.9beta6, December 18, 2000, are
+libpng versions 1.0.7, July 1, 2000, through 1.0.9rc1, December 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
-December 18, 2000
+December 23, 2000
diff --git a/README b/README
index e6b072f..06131fe 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng 1.0.9beta6 - December 18, 2000 (shared library 2.1)
+README for libpng 1.0.9rc1 - December 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,9 +182,9 @@
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.9beta6)
+ (gcc, creates libpng.so.2.1.0.9rc1)
makefile.gcmmx => Linux/ELF makefile (gcc, creates
- libpng.so.2.1.0.9beta6, uses assembler code
+ libpng.so.2.1.0.9rc1, 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
@@ -199,10 +199,10 @@
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.9beta6)
+ makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.9rc1)
makefile.sunos => Sun makefile
makefile.solaris => Solaris 2.X makefile
- (gcc, creates libpng.so.2.1.0.9beta6)
+ (gcc, creates libpng.so.2.1.0.9rc1)
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 74763a9..a5f6395 100644
--- a/TODO
+++ b/TODO
@@ -18,3 +18,7 @@
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?
+Build gamma tables using fixed point (and do away with floating point entirely).
+Use greater precision when changing to linear gamma for compositing against
+ background and doing rgb-to-gray transformation.
+Investigate pre-incremented loop counters and other loop constructions.
diff --git a/Y2KINFO b/Y2KINFO
index c2fef40..b869b78 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
Y2K compliance in libpng:
=========================
- December 18, 2000
+ December 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.9beta6 are Y2K compliant. It is my belief that earlier
+ upward through 1.0.9rc1 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 a4ec384..83a11b4 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
echo "
- There is no \"configure\" script for Libpng-1.0.9beta6. Instead, please
+ There is no \"configure\" script for Libpng-1.0.9rc1. Instead, please
copy the appropriate makefile for your system from the \"scripts\"
directory. Read the INSTALL file for more details.
"
diff --git a/example.c b/example.c
index aa920fe..47a0225 100644
--- a/example.c
+++ b/example.c
@@ -267,7 +267,7 @@
*/
if (color_type & PNG_COLOR_MASK_COLOR)
{
- png_uint_32 num_palette;
+ int num_palette;
png_colorp palette;
/* This reduces the image to the application supplied palette */
diff --git a/libpng.3 b/libpng.3
index 2fb76ae..10d9146 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "December 18, 2000"
+.TH LIBPNG 3 "December 23, 2000"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta6
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9rc1
.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.9beta6 - December 18, 2000
+ libpng version 1.0.9rc1 - December 23, 2000
Updated and distributed by Glenn Randers-Pehrson
<randeg@alum.rpi.edu>
Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
@@ -1709,7 +1709,7 @@
if (png_get_valid(png_ptr, info_ptr,
PNG_INFO_PLTE))
{
- png_color_16p histogram;
+ png_uint_16p histogram;
png_get_hIST(png_ptr, info_ptr,
&histogram);
@@ -3362,8 +3362,11 @@
It is an error to use this function when reading or writing a standalone
PNG file with the PNG 8-byte signature. The PNG datastream must be wrapped
-in a MNG datastream (as a minimum, it must have the MNG 8-byte signature
-and the MHDR and MEND chunks).
+in a MNG datastream. As a minimum, it must have the MNG 8-byte signature
+and the MHDR and MEND chunks. Libpng does not provide support for these
+or any other MNG chunks; your application must provide its own support for
+them. You may wish to consider using libmng (available at
+http://www.libmng.com) instead.
.SH VII. Changes to Libpng from version 0.88
@@ -3416,13 +3419,13 @@
.SH VIII. Y2K Compliance in libpng
-December 18, 2000
+December 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.9beta6 are Y2K compliant. It is my belief that earlier
+upward through 1.0.9rc1 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
@@ -3563,7 +3566,7 @@
Thanks to Frank J. T. Wojcik for helping with the documentation.
-Libpng version 1.0.9beta6 - December 18, 2000:
+Libpng version 1.0.9rc1 - December 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).
@@ -3580,7 +3583,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.9beta6, December 18, 2000, are
+libpng versions 1.0.7, July 1, 2000, through 1.0.9rc1, December 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
@@ -3671,7 +3674,7 @@
Glenn Randers-Pehrson
randeg@alum.rpi.edu
-December 18, 2000
+December 23, 2000
.\" end of man page
diff --git a/libpng.txt b/libpng.txt
index 21b7aec..149d646 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.9beta6 - December 18, 2000
+ libpng version 1.0.9rc1 - December 23, 2000
Updated and distributed by Glenn Randers-Pehrson
<randeg@alum.rpi.edu>
Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson
@@ -962,7 +962,7 @@
if (png_get_valid(png_ptr, info_ptr,
PNG_INFO_PLTE))
{
- png_color_16p histogram;
+ png_uint_16p histogram;
png_get_hIST(png_ptr, info_ptr,
&histogram);
@@ -2615,8 +2615,11 @@
It is an error to use this function when reading or writing a standalone
PNG file with the PNG 8-byte signature. The PNG datastream must be wrapped
-in a MNG datastream (as a minimum, it must have the MNG 8-byte signature
-and the MHDR and MEND chunks).
+in a MNG datastream. As a minimum, it must have the MNG 8-byte signature
+and the MHDR and MEND chunks. Libpng does not provide support for these
+or any other MNG chunks; your application must provide its own support for
+them. You may wish to consider using libmng (available at
+http://www.libmng.com) instead.
VII. Changes to Libpng from version 0.88
@@ -2669,13 +2672,13 @@
VIII. Y2K Compliance in libpng
-December 18, 2000
+December 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.9beta6 are Y2K compliant. It is my belief that earlier
+upward through 1.0.9rc1 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 0a85847..b066661 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "December 18, 2000"
+.TH LIBPNGPF 3 "December 23, 2000"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9beta6
+libpng \- Portable Network Graphics (PNG) Reference Library 1.0.9rc1
(private functions)
.SH SYNOPSIS
\fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index 7716e91..179f40f 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "December 18, 2000"
+.TH PNG 5 "December 23, 2000"
.SH NAME
png \- Portable Network Graphics (PNG) format
.SH DESCRIPTION
diff --git a/png.c b/png.c
index c04b178..f7e59db 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
/* png.c - location for general purpose libpng functions
*
- * libpng version 1.0.9beta6 - December 18, 2000
+ * libpng version 1.0.9rc1 - December 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_9beta6 Your_png_h_is_not_version_1_0_9beta6;
+typedef version_1_0_9rc1 Your_png_h_is_not_version_1_0_9rc1;
/* 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.9beta6";
+const char png_libpng_ver[18] = "1.0.9rc1";
/* png_sig was changed to a function in version 1.0.5c */
/* Place to hold the signature string for a PNG file. */
@@ -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.9beta6 - December 18, 2000\n\
+ return ((png_charp) "\n libpng version 1.0.9rc1 - December 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.9beta6");
- return((png_charp) "1.0.9beta6");
+ return((png_charp) "1.0.9rc1");
+ return((png_charp) "1.0.9rc1");
}
png_charp PNGAPI
diff --git a/png.h b/png.h
index 0949aee..802ee36 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
- * libpng version 1.0.9beta6 - December 18, 2000
+ * libpng version 1.0.9rc1 - December 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.9beta6 - December 18, 2000: Glenn
+ * libpng versions 0.97, January 1998, through 1.0.9rc1 - December 23, 2000: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@@ -59,6 +59,7 @@
* 1.0.8rc1 10008 2.1.0.8rc1
* 1.0.8 10008 2.1.0.8
* 1.0.9beta1-6 10009 2.1.0.9beta1-6
+ * 1.0.9rc1 10009 2.1.0.9rc1
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
@@ -85,7 +86,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.9beta6, December 18, 2000, are
+ * libpng versions 1.0.7, July 1, 2000, through 1.0.9rc1, December 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 +191,13 @@
* Y2K compliance in libpng:
* =========================
*
- * December 18, 2000
+ * December 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.9beta6 are Y2K compliant. It is my belief that earlier
+ * upward through 1.0.9rc1 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 +253,7 @@
*/
/* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.0.9beta6"
+#define PNG_LIBPNG_VER_STRING "1.0.9rc1"
#define PNG_LIBPNG_VER_SONUM 2
@@ -263,7 +264,7 @@
/* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero: */
-#define PNG_LIBPNG_VER_BUILD 6
+#define PNG_LIBPNG_VER_BUILD 1
#define PNG_LIBPNG_BUILD_ALPHA 1
#define PNG_LIBPNG_BUILD_BETA 2
@@ -271,7 +272,7 @@
#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
+#define PNG_LIBPNG_BUILD_TYPE 3
/* Careful here. At one time, Guy wanted to use 082, but that would be octal.
* We must not include leading zeros.
@@ -1172,9 +1173,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.9beta6
+and png.h are both at * version 1.0.9rc1
*/
-typedef png_structp version_1_0_9beta6;
+typedef png_structp version_1_0_9rc1;
typedef png_struct FAR * FAR * png_structpp;
@@ -2215,7 +2216,7 @@
#endif
#define PNG_HEADER_VERSION_STRING \
- " libpng version 1.0.9beta6 - December 18, 2000 (header)\n"
+ " libpng version 1.0.9rc1 - December 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 590359c..2428925 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.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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 b881499..752b3cd 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,6 +1,6 @@
/* pngconf.h - machine configurable file for libpng
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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)
@@ -1085,7 +1085,7 @@
defined(WIN32) || defined(_WIN32) || defined(__WIN32__) \
) && !defined(__CYGWIN__))
-# ifdef __GNUC__
+# if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800))
# define PNGAPI __cdecl
# else
# define PNGAPI _cdecl
diff --git a/pngerror.c b/pngerror.c
index 327ce3c..1cd8b8d 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
/* pngerror.c - stub functions for i/o and memory allocation
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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 cc55dc8..78162bd 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.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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/pngget.c b/pngget.c
index 876c63d..3f71469 100644
--- a/pngget.c
+++ b/pngget.c
@@ -1,7 +1,7 @@
/* pngget.c - retrieval of values from info struct
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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 7252ffa..c56076f 100644
--- a/pngmem.c
+++ b/pngmem.c
@@ -1,7 +1,7 @@
/* pngmem.c - stub functions for memory allocation
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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 7659641..b399f31 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
/* pngpread.c - read a png file in push mode
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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 ecc736b..dee7865 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
/* pngread.c - read a PNG file
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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)
@@ -712,7 +712,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.9beta6
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9rc1
*/
void PNGAPI
@@ -761,7 +761,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.9beta6
+ * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.9rc1
*/
void PNGAPI
png_read_image(png_structp png_ptr, png_bytepp image)
diff --git a/pngrio.c b/pngrio.c
index 7321714..590c0c5 100644
--- a/pngrio.c
+++ b/pngrio.c
@@ -1,7 +1,7 @@
/* pngrio.c - functions for data input
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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 04320db..8dec2eb 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.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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 7d5b14b..3e720f4 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
/* pngrutil.c - utilities to read a PNG file
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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)
@@ -286,10 +286,8 @@
png_warning(png_ptr, "Unknown zTXt compression type");
#endif
- /* Copy what we can of the error message into the text chunk */
- text_size = (png_size_t)(chunklength - (text - chunkdata));
- text_size = sizeof(msg) > text_size ? text_size : sizeof(msg);
- png_memcpy(text, msg, text_size);
+ *(chunkdata + prefix_size) = 0x00;
+ *newlength=prefix_size;
}
return chunkdata;
@@ -365,15 +363,17 @@
*/
if((png_ptr->mode&PNG_HAVE_PNG_SIGNATURE)&&png_ptr->mng_features_permitted)
png_warning(png_ptr,"MNG features are not allowed in a PNG datastream\n");
- if(!((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) &&
- (filter_type == PNG_INTRAPIXEL_DIFFERENCING) &&
- ((png_ptr->mode&PNG_HAVE_PNG_SIGNATURE) == 0) &&
- (color_type == PNG_COLOR_TYPE_RGB ||
- color_type == PNG_COLOR_TYPE_RGB_ALPHA)) &&
- filter_type != PNG_FILTER_TYPE_BASE)
- png_error(png_ptr, "Unknown filter method in IHDR");
if(filter_type != PNG_FILTER_TYPE_BASE)
- png_warning(png_ptr, "Invalid filter method in IHDR");
+ {
+ if(!((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) &&
+ (filter_type == PNG_INTRAPIXEL_DIFFERENCING) &&
+ ((png_ptr->mode&PNG_HAVE_PNG_SIGNATURE) == 0) &&
+ (color_type == PNG_COLOR_TYPE_RGB ||
+ color_type == PNG_COLOR_TYPE_RGB_ALPHA)))
+ png_error(png_ptr, "Unknown filter method in IHDR");
+ if(png_ptr->mode&PNG_HAVE_PNG_SIGNATURE)
+ png_warning(png_ptr, "Invalid filter method in IHDR");
+ }
#else
if(filter_type != PNG_FILTER_TYPE_BASE)
png_error(png_ptr, "Unknown filter method in IHDR");
@@ -1946,6 +1946,11 @@
else
{
comp_type = *(++text);
+ if (comp_type != PNG_TEXT_COMPRESSION_zTXt)
+ {
+ png_warning(png_ptr, "Unknown compression type in zTXt chunk");
+ comp_type = PNG_TEXT_COMPRESSION_zTXt;
+ }
text++; /* skip the compression_method byte */
}
prefix_len = text - chunkdata;
diff --git a/pngset.c b/pngset.c
index 05b2908..a85feec 100644
--- a/pngset.c
+++ b/pngset.c
@@ -1,7 +1,7 @@
/* pngset.c - storage of image information into info struct
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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/pngtest.c b/pngtest.c
index c8d1f40..ec65ed8 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1,7 +1,7 @@
/* pngtest.c - a simple test program to test libpng
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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_9beta6 your_png_h_is_not_version_1_0_9beta6;
+typedef version_1_0_9rc1 your_png_h_is_not_version_1_0_9rc1;
diff --git a/pngtrans.c b/pngtrans.c
index c5c7fc3..5326955 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.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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 2daa4fe..2e16554 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -2,7 +2,7 @@
*
* For Intel x86 CPU and Microsoft Visual C++ compiler
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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 18b49ff..7060258 100644
--- a/pngwio.c
+++ b/pngwio.c
@@ -1,7 +1,7 @@
/* pngwio.c - functions for data output
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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 b004a06..1103c76 100644
--- a/pngwrite.c
+++ b/pngwrite.c
@@ -1,7 +1,7 @@
/* pngwrite.c - general routines to write a PNG file
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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)
@@ -994,7 +994,7 @@
{
png_debug(1, "in png_set_filter\n");
#if defined(PNG_MNG_FEATURES_SUPPORTED)
- if((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) &&
+ if((png_ptr->mng_features_permitted & PNG_FLAG_MNG_FILTER_64) &&
(method == PNG_INTRAPIXEL_DIFFERENCING))
method = PNG_FILTER_TYPE_BASE;
#endif
diff --git a/pngwtran.c b/pngwtran.c
index b33f5e9..2cd2479 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.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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 53039a5..f5d48dd 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
/* pngwutil.c - utilities to write a PNG file
*
- * libpng 1.0.9beta6 - December 18, 2000
+ * libpng 1.0.9rc1 - December 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 e2ec45c..af9244f 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.9beta6 (December 18, 2000) and zlib
+libpng 1.0.9rc1 (December 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/png32ms.def b/projects/msvc/png32ms.def
index 919be03..11ace57 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.9beta6
+;Version 1.0.9rc1
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 a2946d0..80a663b 100644
--- a/projects/wince/READMEE.WCE
+++ b/projects/wince/READMEE.WCE
@@ -8,9 +8,9 @@
Introduction
============
-This is libpng 1.0.9beta6 ported to WindowsCE 2.0 and 2.11.
-libpng 1.0.9beta6 is a PNG reference library.
-See README, a document of original libpng 1.0.9beta6.
+This is libpng 1.0.9rc1 ported to WindowsCE 2.0 and 2.11.
+libpng 1.0.9rc1 is a PNG reference library.
+See README, a document of original libpng 1.0.9rc1.
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.9beta6, for conditions
+See README and LICENSE, documents of original libpng 1.0.9rc1, for conditions
of use and distribution.
Files
diff --git a/projects/wince/READMEJ.WCE b/projects/wince/READMEJ.WCE
index e752286..8fef1da 100644
--- a/projects/wince/READMEJ.WCE
+++ b/projects/wince/READMEJ.WCE
@@ -24,7 +24,7 @@
ÉÈÁ½¢©ÈéíQÉ¢ÄàAìÒAzzÒA»Ì¼pÒÈOÌl¨A
cÌÉÓCðÆé`±ÍÈ¢àÌƵܷB
-»Ì¼A±Ì\tgEFAÌpðÉ¢ÄÍA´ÅÅ é libpng 1.0.9beta6É
+»Ì¼A±Ì\tgEFAÌpðÉ¢ÄÍA´ÅÅ é libpng 1.0.9rc1É
·éàÌƵܷBÚµÍAt®Ì README,LICENSE ð¨Çݾ³¢B
û^àe
diff --git a/projects/wince/png32ce.def b/projects/wince/png32ce.def
index abba51a..be2924d 100644
--- a/projects/wince/png32ce.def
+++ b/projects/wince/png32ce.def
@@ -5,7 +5,7 @@
LIBRARY lpngce
EXPORTS
-;Version 1.0.9beta6
+;Version 1.0.9rc1
png_build_grayscale_palette @1
png_check_sig @2
png_chunk_error @3
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index 3456f45..135f482 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -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.9beta6
+PNGMIN = 1.0.9rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 80762f4..e360299 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.9beta6
+PNGMIN = 1.0.9rc1
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 ccf9591..3265411 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -38,7 +38,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.9beta6
+PNGMIN = 1.0.9rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
SHAREDLIB=cygpng$(PNGMAJ).dll
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index c754d65..d618129 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.9beta6
+PNGMIN = 1.0.9rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
CC=cc
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 9445d9b..aa5c6fc 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -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.9beta6
+PNGMIN = 1.0.9rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 12c5cbe..d1bf76c 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.9beta6
+PNGMIN = 1.0.9rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
# where make install puts libpng.a and png.h
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index c86fea8..3e764dd 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.9beta6
+PNGMIN = 1.0.9rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 5d7b4b5..0b25286 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.9beta6
+PNGMIN = 1.0.9rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index cd65267..c07d5b6 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.9beta6
-LIBS=libpng.so.1.0.9beta6
+VER=1.0.9rc1
+LIBS=libpng.so.1.0.9rc1
SHAREDLIB=libpng.so
libdir=$(prefix)/lib32
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 1273f65..b323d2b 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.9beta6
+PNGMIN = 1.0.9rc1
PNGVER = $(PNGMAJ).$(PNGMIN)
INCPATH=$(prefix)/include
diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas
index 4e88d34..2458016 100644
--- a/scripts/pngdef.pas
+++ b/scripts/pngdef.pas
@@ -5,7 +5,7 @@
interface
const
- PNG_LIBPNG_VER_STRING = '1.0.9beta6';
+ PNG_LIBPNG_VER_STRING = '1.0.9rc1';
PNG_LIBPNG_VER = 10009;
type