diff options
62 files changed, 286 insertions, 191 deletions
@@ -1,5 +1,5 @@ -Libpng 1.4.0beta48 - February 14, 2009 +Libpng 1.4.0beta49 - February 28, 2009 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. @@ -9,27 +9,27 @@ Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script - 1.4.0beta48.tar.gz - 1.4.0beta48.tar.bz2 + 1.4.0beta49.tar.gz + 1.4.0beta49.tar.bz2 Source files with LF line endings (for Unix/Linux) without the "configure" script - 1.4.0beta48-no-config.tar.gz - 1.4.0beta48-no-config.tar.bz2 + 1.4.0beta49-no-config.tar.gz + 1.4.0beta49-no-config.tar.bz2 Source files with CRLF line endings (for Windows), without the "configure" script - lp140b48.zip - lp140b48.tar.bz2 + lp140b49.zip + lp140b49.tar.bz2 Other information: - 1.4.0beta48-README.txt - 1.4.0beta48-KNOWNBUGS.txt - 1.4.0beta48-LICENSE.txt - 1.4.0beta48-Y2K-compliance.txt + 1.4.0beta49-README.txt + 1.4.0beta49-KNOWNBUGS.txt + 1.4.0beta49-LICENSE.txt + 1.4.0beta49-Y2K-compliance.txt Changes since the last public release (1.2.10): @@ -343,7 +343,7 @@ version 1.4.0beta38 [November 22, 2008] Added check for zero-area RGB cHRM triange in png_check_cHRM() and png_check_cHRM_fixed(). -version 1.4.0beta39 [February 14, 2009] +version 1.4.0beta39 [February 28, 2009] Revised png_warning() to write its message on standard output by default when warning_fn is NULL. @@ -383,6 +383,15 @@ version 1.4.0beta48 [February 14, 2009] Combined several instances of png_malloc(); png_memset() into png_calloc(). Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24 +version 1.4.0beta49 [February 28, 2009] + Added png_fileno() macro to pngconf.h, used in pngwio.c + Corrected order of #ifdef's in png_debug definition in png.h + Fixed bug introduced in libpng-1.4.0beta48 with the memset arguments + for pcal_params. + Fixed order of #ifdef directives in the png_debug defines in png.h + (bug introduced in libpng-1.2.34/1.4.0beta29). + Revised comments in png_set_read_fn() and png_set_write_fn(). + version 1.4.0betaN [future] Build shared libraries with -lz and sometimes -lm. @@ -2059,6 +2059,15 @@ version 1.4.0beta48 [February 14, 2009] Removed prototype for png_freeptr() that was added in libpng-1.4.0beta24 but was never defined. +version 1.4.0beta49 [February 28, 2009] + Added png_fileno() macro to pngconf.h, used in pngwio.c + Corrected order of #ifdef's in png_debug definition in png.h + Fixed bug introduced in libpng-1.4.0beta48 with the memset arguments + for pcal_params. + Fixed order of #ifdef directives in the png_debug defines in png.h + (bug introduced in libpng-1.2.34/1.4.0beta29). + Revised comments in png_set_read_fn() and png_set_write_fn(). + version 1.4.0betaN [future] Build shared libraries with -lz and sometimes -lm. @@ -1,5 +1,5 @@ -Installing libpng version 1.4.0beta48 - February 14, 2009 +Installing libpng version 1.4.0beta49 - February 28, 2009 On Unix/Linux and similar systems, you can simply type @@ -44,7 +44,7 @@ to have access to the zlib.h and zconf.h include files that correspond to the version of zlib that's installed. You can rename the directories that you downloaded (they -might be called "libpng-1.4.0beta48" or "lpng109" and "zlib-1.2.1" +might be called "libpng-1.4.0beta49" or "lpng109" and "zlib-1.2.1" or "zlib121") so that you have directories called "zlib" and "libpng". Your directory structure should look like this: @@ -95,14 +95,14 @@ include CMakeLists.txt => "cmake" script makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.elf => Linux/ELF makefile symbol versioning, - gcc, creates libpng14.so.14.1.4.0beta48) + gcc, creates libpng14.so.14.1.4.0beta49) makefile.linux => Linux/ELF makefile - (gcc, creates libpng14.so.14.1.4.0beta48) + (gcc, creates libpng14.so.14.1.4.0beta49) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng14.so.14.1.4.0beta48, + (gcc, creates libpng14.so.14.1.4.0beta49, uses assembler code tuned for Intel MMX platform) makefile.nommx => Linux/ELF makefile - (gcc, creates libpng14.so.14.1.4.0beta48 + (gcc, creates libpng14.so.14.1.4.0beta49 does not use Intel MMX assembler code) makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.knr => Archaic UNIX Makefile that converts files with @@ -125,12 +125,12 @@ include makefile.openbsd => OpenBSD makefile makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) makefile.sggcc => Silicon Graphics (gcc, - creates libpng14.so.14.1.4.0beta48) + creates libpng14.so.14.1.4.0beta49) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile (gcc, - creates libpng14.so.14.1.4.0beta48) + creates libpng14.so.14.1.4.0beta49) makefile.so9 => Solaris 9 makefile (gcc, - creates libpng14.so.14.1.4.0beta48) + creates libpng14.so.14.1.4.0beta49) makefile.32sunu => Sun Ultra 32-bit makefile makefile.64sunu => Sun Ultra 64-bit makefile makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc @@ -1,5 +1,5 @@ -Known bugs in libpng version 1.4.0beta48 +Known bugs in libpng version 1.4.0beta49 1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when reading interlaced PNG files, when assembler code is enabled but running @@ -8,7 +8,7 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: If you modify libpng you may insert additional notices immediately following this sentence. -libpng versions 1.2.6, August 15, 2004, through 1.4.0beta48, February 14, 2009, are +libpng versions 1.2.6, August 15, 2004, through 1.4.0beta49, February 28, 2009, are Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.2.5 with the following individual added to the list of Contributing Authors @@ -106,4 +106,4 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -February 14, 2009 +February 28, 2009 diff --git a/Makefile.am b/Makefile.am index ad8306ef3..48a7fb85f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -86,7 +86,7 @@ EXTRA_DIST= \ ${srcdir}/contrib/pngsuite/* \ ${srcdir}/contrib/visupng/* \ $(TESTS) \ - example.c libpng-1.4.0beta48.txt pngvcrd.c + example.c libpng-1.4.0beta49.txt pngvcrd.c CLEANFILES= pngout.png libpng14.pc libpng14-config libpng.vers \ libpng.sym diff --git a/Makefile.in b/Makefile.in index 0793740e4..717539f6c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -331,7 +331,7 @@ EXTRA_DIST = \ ${srcdir}/contrib/pngsuite/* \ ${srcdir}/contrib/visupng/* \ $(TESTS) \ - example.c libpng-1.4.0beta48.txt pngvcrd.c + example.c libpng-1.4.0beta49.txt pngvcrd.c CLEANFILES = pngout.png libpng14.pc libpng14-config libpng.vers \ libpng.sym @@ -1,4 +1,4 @@ -README for libpng version 1.4.0beta48 - February 14, 2009 (shared library 14.0) +README for libpng version 1.4.0beta49 - February 28, 2009 (shared library 14.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. @@ -184,11 +184,11 @@ Files in this distribution: descrip.mms => VMS makefile for MMS or MMK makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.elf => Linux/ELF makefile symbol versioning, - gcc, creates libpng14.so.14.1.4.0beta48) + gcc, creates libpng14.so.14.1.4.0beta49) makefile.linux => Linux/ELF makefile - (gcc, creates libpng14.so.14.1.4.0beta48) + (gcc, creates libpng14.so.14.1.4.0beta49) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng14.so.14.1.4.0beta48, + (gcc, creates libpng14.so.14.1.4.0beta49, 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 @@ -210,12 +210,12 @@ Files in this distribution: makefile.openbsd => OpenBSD makefile makefile.sgi => Silicon Graphics IRIX (cc, creates static lib) makefile.sggcc => Silicon Graphics - (gcc, creates libpng14.so.14.1.4.0beta48) + (gcc, creates libpng14.so.14.1.4.0beta49) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng14.so.14.1.4.0beta48) + (gcc, creates libpng14.so.14.1.4.0beta49) makefile.so9 => Solaris 9 makefile - (gcc, creates libpng14.so.14.1.4.0beta48) + (gcc, creates libpng14.so.14.1.4.0beta49) makefile.32sunu => Sun Ultra 32-bit makefile makefile.64sunu => Sun Ultra 64-bit makefile makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62 for libpng 1.4.0beta48. +# Generated by GNU Autoconf 2.62 for libpng 1.4.0beta49. # # Report bugs to <png-mng-implement@lists.sourceforge.net>. # @@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='libpng' PACKAGE_TARNAME='libpng' -PACKAGE_VERSION='1.4.0beta48' -PACKAGE_STRING='libpng 1.4.0beta48' +PACKAGE_VERSION='1.4.0beta49' +PACKAGE_STRING='libpng 1.4.0beta49' PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net' ac_unique_file="pngget.c" @@ -1484,7 +1484,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libpng 1.4.0beta48 to adapt to many kinds of systems. +\`configure' configures libpng 1.4.0beta49 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1554,7 +1554,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libpng 1.4.0beta48:";; + short | recursive ) echo "Configuration of libpng 1.4.0beta49:";; esac cat <<\_ACEOF @@ -1661,7 +1661,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libpng configure 1.4.0beta48 +libpng configure 1.4.0beta49 generated by GNU Autoconf 2.62 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1675,7 +1675,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libpng $as_me 1.4.0beta48, which was +It was created by libpng $as_me 1.4.0beta49, which was generated by GNU Autoconf 2.62. Invocation command line was $ $0 $@ @@ -2389,7 +2389,7 @@ fi # Define the identity of the package. PACKAGE='libpng' - VERSION='1.4.0beta48' + VERSION='1.4.0beta49' cat >>confdefs.h <<_ACEOF @@ -2558,7 +2558,7 @@ fi -PNGLIB_VERSION=1.4.0beta48 +PNGLIB_VERSION=1.4.0beta49 PNGLIB_MAJOR=1 PNGLIB_MINOR=4 PNGLIB_RELEASE=0 @@ -13125,7 +13125,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libpng $as_me 1.4.0beta48, which was +This file was extended by libpng $as_me 1.4.0beta49, which was generated by GNU Autoconf 2.62. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13178,7 +13178,7 @@ Report bugs to <bug-autoconf@gnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -libpng config.status 1.4.0beta48 +libpng config.status 1.4.0beta49 configured by $0, generated by GNU Autoconf 2.62, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 06a6c2e39..a4aaa0231 100644 --- a/configure.ac +++ b/configure.ac @@ -18,12 +18,12 @@ AC_PREREQ(2.59) dnl Version number stuff here: -AC_INIT([libpng], [1.4.0beta48], [png-mng-implement@lists.sourceforge.net]) +AC_INIT([libpng], [1.4.0beta49], [png-mng-implement@lists.sourceforge.net]) AM_INIT_AUTOMAKE dnl stop configure from automagically running automake AM_MAINTAINER_MODE -PNGLIB_VERSION=1.4.0beta48 +PNGLIB_VERSION=1.4.0beta49 PNGLIB_MAJOR=1 PNGLIB_MINOR=4 PNGLIB_RELEASE=0 @@ -2,7 +2,7 @@ #if 0 /* in case someone actually tries to compile this */ /* example.c - an example of using libpng - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * This file has been placed in the public domain by the authors. * Maintained 1998-2009 Glenn Randers-Pehrson * Maintained 1996, 1997 Andreas Dilger) diff --git a/libpng-1.4.0beta48.txt b/libpng-1.4.0beta49.txt index 09729d2c8..60f64afd8 100644 --- a/libpng-1.4.0beta48.txt +++ b/libpng-1.4.0beta49.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.4.0beta48 - February 14, 2009 + libpng version 1.4.0beta49 - February 28, 2009 Updated and distributed by Glenn Randers-Pehrson <glennrp at users.sourceforge.net> Copyright (c) 1998-2005 Glenn Randers-Pehrson @@ -2789,13 +2789,13 @@ application: IX. Y2K Compliance in libpng -February 14, 2009 +February 28, 2009 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.4.0beta48 are Y2K compliant. It is my belief that earlier +upward through 1.4.0beta49 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 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "February 14, 2009" +.TH LIBPNG 3 "February 28, 2009" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta48 +libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta49 .SH SYNOPSIS \fI\fB @@ -809,7 +809,7 @@ Following is a copy of the libpng.txt file that accompanies libpng. .SH LIBPNG.TXT libpng.txt - A description on how to use and modify libpng - libpng version 1.4.0beta48 - February 14, 2009 + libpng version 1.4.0beta49 - February 28, 2009 Updated and distributed by Glenn Randers-Pehrson <glennrp at users.sourceforge.net> Copyright (c) 1998-2005 Glenn Randers-Pehrson @@ -3598,13 +3598,13 @@ application: .SH IX. Y2K Compliance in libpng -February 14, 2009 +February 28, 2009 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.4.0beta48 are Y2K compliant. It is my belief that earlier +upward through 1.4.0beta49 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 @@ -3772,7 +3772,7 @@ the first widely used release: 1.4.0beta9-14 14 10400 14.so.0.0[.0] 1.2.13 13 10213 12.so.0.13[.0] 1.4.0beta15-36 14 10400 14.so.0.0[.0] - 1.4.0beta37-48 14 10400 14.so.14.0[.0] + 1.4.0beta37-49 14 10400 14.so.14.0[.0] Henceforth the source version will match the shared-library minor and patch numbers; the shared-library major version number will be @@ -3828,7 +3828,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.4.0beta48 - February 14, 2009: +Libpng version 1.4.0beta49 - February 28, 2009: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -3849,7 +3849,7 @@ included in the libpng distribution, the latter shall prevail.) If you modify libpng you may insert additional notices immediately following this sentence. -libpng versions 1.2.6, August 15, 2004, through 1.4.0beta48, February 14, 2009, are +libpng versions 1.2.6, August 15, 2004, through 1.4.0beta49, February 28, 2009, are Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.2.5 with the following individual added to the list of Contributing Authors @@ -3948,7 +3948,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -February 14, 2009 +February 28, 2009 .\" end of man page diff --git a/libpngpf.3 b/libpngpf.3 index 55a6aab6e..f9a9ada02 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "February 14, 2009" +.TH LIBPNGPF 3 "February 28, 2009" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta48 +libpng \- Portable Network Graphics (PNG) Reference Library 1.4.0beta49 (private functions) .SH SYNOPSIS \fB#include <png.h>\fP @@ -1,4 +1,4 @@ -.TH PNG 5 "February 14, 2009" +.TH PNG 5 "February 28, 2009" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION @@ -1,7 +1,7 @@ /* png.c - location for general purpose libpng functions * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -13,7 +13,7 @@ #include "pngpriv.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_4_0beta48 Your_png_h_is_not_version_1_4_0beta48; +typedef version_1_4_0beta49 Your_png_h_is_not_version_1_4_0beta49; /* Version information for C files. This had better match the version * string defined in png.h. */ @@ -641,13 +641,13 @@ png_get_copyright(png_structp png_ptr) #else #ifdef __STDC__ return ((png_charp) PNG_STRING_NEWLINE \ - "libpng version x 1.4.0beta48 - February 14, 2009" PNG_STRING_NEWLINE \ + "libpng version x 1.4.0beta49 - February 28, 2009" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2009 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ PNG_STRING_NEWLINE); #else - return ((png_charp) "libpng version 1.4.0beta48 - February 14, 2009\ + return ((png_charp) "libpng version 1.4.0beta49 - February 28, 2009\ Copyright (c) 1998-2009 Glenn Randers-Pehrson\ Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."); @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.4.0beta48 - February 14, 2009 + * libpng version 1.4.0beta49 - February 28, 2009 * Copyright (c) 1998-2009 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.4.0beta48 - February 14, 2009: Glenn + * libpng versions 0.97, January 1998, through 1.4.0beta49 - February 28, 2009: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -127,7 +127,7 @@ * 1.4.0beta9-14 14 10400 14.so.0.0[.0] * 1.2.13 13 10213 12.so.0.10[.0] * 1.4.0beta15-36 14 10400 14.so.0.0[.0] - * 1.4.0beta37-48 14 10400 14.so.14.0[.0] + * 1.4.0beta37-49 14 10400 14.so.14.0[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -157,8 +157,8 @@ * If you modify libpng you may insert additional notices immediately following * this sentence. * - * libpng versions 1.2.6, August 15, 2004, through 1.4.0beta48, February 14, 2009, are - * Copyright (c) 2004, 2006-2009 Glenn Randers-Pehrson, and are + * libpng versions 1.2.6, August 15, 2004, through 1.4.0beta49, February 28, 2009, are + * Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are * distributed according to the same disclaimer and license as libpng-1.2.5 * with the following individual added to the list of Contributing Authors: * @@ -269,13 +269,13 @@ * Y2K compliance in libpng: * ========================= * - * February 14, 2009 + * July 1, 2008 * * 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.4.0beta48 are Y2K compliant. It is my belief that earlier + * upward through 1.4.0beta49 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 @@ -331,9 +331,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.4.0beta48" +#define PNG_LIBPNG_VER_STRING "1.4.0beta49" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.4.0beta48 - February 14, 2009\n" + " libpng version 1.4.0beta49 - February 28, 2009\n" #define PNG_LIBPNG_VER_SONUM 14 #define PNG_LIBPNG_VER_DLLNUM 14 @@ -345,7 +345,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 48 +#define PNG_LIBPNG_VER_BUILD 49 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -1038,10 +1038,10 @@ typedef void (PNGAPI *png_unknown_chunk_ptr) PNGARG((png_structp)); #define PNG_TRANSFORM_SWAP_ALPHA 0x0100 /* read and write */ #define PNG_TRANSFORM_SWAP_ENDIAN 0x0200 /* read and write */ #define PNG_TRANSFORM_INVERT_ALPHA 0x0400 /* read and write */ -#define PNG_TRANSFORM_STRIP_FILLER 0x0800 /* WRITE only, deprecated */ +#define PNG_TRANSFORM_STRIP_FILLER 0x0800 /* WRITE only */ /* Added to libpng-1.2.34 */ -#define PNG_TRANSFORM_STRIP_FILLER_BEFORE 0x0800 /* WRITE only */ -#define PNG_TRANSFORM_STRIP_FILLER_AFTER 0x1000 /* WRITE only */ +#define PNG_TRANSFORM_STRIP_FILLER_BEFORE PNG_TRANSFORM_STRIP_FILLER +#define PNG_TRANSFORM_STRIP_FILLER_AFTER 0x1000 /* WRITE only */ /* Flags for MNG supported features */ #define PNG_FLAG_MNG_EMPTY_PLTE 0x01 @@ -1356,7 +1356,7 @@ struct png_struct_def /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef png_structp version_1_4_0beta48; +typedef png_structp version_1_4_0beta49; typedef png_struct FAR * FAR * png_structpp; @@ -1916,17 +1916,20 @@ extern PNG_EXPORT(void,png_progressive_combine_row) PNGARG((png_structp png_ptr, extern PNG_EXPORT(png_voidp,png_malloc) PNGARG((png_structp png_ptr, png_alloc_size_t size)); +/* Added at libpng version 1.4.0 */ +#ifdef PNG_CALLOC_SUPPORTED +extern PNG_EXPORT(png_voidp,png_calloc) PNGARG((png_structp png_ptr, + png_alloc_size_t size)); +#endif /* Added at libpng version 1.2.4 */ extern PNG_EXPORT(png_voidp,png_malloc_warn) PNGARG((png_structp png_ptr, png_alloc_size_t size)); -/* Added at libpng version 1.4.0; combines malloc(N) and memset(*,0,N). */ -extern PNG_EXPORT(png_voidp,png_calloc) PNGARG((png_structp png_ptr, - png_alloc_size_t size)); - /* Frees a pointer allocated by png_malloc() */ extern PNG_EXPORT(void,png_free) PNGARG((png_structp png_ptr, png_voidp ptr)); +extern PNG_EXPORT(void,png_freeptr) PNGARG((png_structp png_ptr, + png_voidp *ptr)); /* Free data that was allocated internally */ extern PNG_EXPORT(void,png_free_data) PNGARG((png_structp png_ptr, @@ -2394,64 +2397,72 @@ extern PNG_EXPORT(void, png_write_png) PNGARG((png_structp png_ptr, #ifndef PNG_DEBUG_FILE #define PNG_DEBUG_FILE stderr #endif /* PNG_DEBUG_FILE */ + #if (PNG_DEBUG > 1) -#ifndef png_debug /* Note: ["%s"m PNG_STRING_NEWLINE] probably does not work on * non-ISO compilers */ -#ifdef __STDC__ -#define png_debug(l,m) \ -{ \ - int num_tabs=l; \ - fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \ - (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":"")))); \ -} -#endif -#ifndef png_debug1 -#define png_debug1(l,m,p1) \ -{ \ - int num_tabs=l; \ - fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \ - (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1); \ -} -#endif -#ifndef png_debug2 -#define png_debug2(l,m,p1,p2) \ -{ \ - int num_tabs=l; \ - fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \ - (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1,p2); \ -} -#endif -#else /* __STDC __ */ -#ifndef png_debug -#define png_debug(l,m) \ - int num_tabs=l; \ - char format[256]; \ - snprintf(format,256,"%s%s%s",(num_tabs==1 ? "\t" : \ - (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))), \ - m,PNG_STRING_NEWLINE); \ - fprintf(PNG_DEBUG_FILE,format); -#endif -#ifndef png_debug1 -#define png_debug1(l,m,p1) \ - int num_tabs=l; \ - char format[256]; \ - snprintf(format,256,"%s%s%s",(num_tabs==1 ? "\t" : \ - (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))), \ - m,PNG_STRING_NEWLINE); \ - fprintf(PNG_DEBUG_FILE,format,p1); -#endif -#ifndef png_debug2 -#define png_debug2(l,m,p1,p2) \ - int num_tabs=l; \ - char format[256]; \ - snprintf(format,256,"%s%s%s",(num_tabs==1 ? "\t" : \ - (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))), \ - m,PNG_STRING_NEWLINE); \ - fprintf(PNG_DEBUG_FILE,format,p1,p2); -#endif -#endif /* __STDC __ */ +# ifdef __STDC__ +# ifndef png_debug +# define png_debug(l,m) \ + { \ + int num_tabs=l; \ + fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \ + (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":"")))); \ + } +# endif +# ifndef png_debug1 +# define png_debug1(l,m,p1) \ + { \ + int num_tabs=l; \ + fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \ + (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1); \ + } +# endif +# ifndef png_debug2 +# define png_debug2(l,m,p1,p2) \ + { \ + int num_tabs=l; \ + fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \ + (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1,p2); \ + } +# endif +# else /* __STDC __ */ +# ifndef png_debug +# define png_debug(l,m) \ + { \ + int num_tabs=l; \ + char format[256]; \ + snprintf(format,256,"%s%s%s",(num_tabs==1 ? "\t" : \ + (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))), \ + m,PNG_STRING_NEWLINE); \ + fprintf(PNG_DEBUG_FILE,format); \ + } +# endif +# ifndef png_debug1 +# define png_debug1(l,m,p1) \ + { \ + int num_tabs=l; \ + char format[256]; \ + snprintf(format,256,"%s%s%s",(num_tabs==1 ? "\t" : \ + (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))), \ + m,PNG_STRING_NEWLINE); \ + fprintf(PNG_DEBUG_FILE,format,p1); \ + } +# endif +# ifndef png_debug2 +# define png_debug2(l,m,p1,p2) \ + { \ + int num_tabs=l; \ + char format[256]; \ + snprintf(format,256,"%s%s%s",(num_tabs==1 ? "\t" : \ + (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))), \ + m,PNG_STRING_NEWLINE); \ + fprintf(PNG_DEBUG_FILE,format,p1,p2); \ + } +# endif +# endif /* __STDC __ */ #endif /* (PNG_DEBUG > 1) */ + #endif /* _MSC_VER */ #endif /* (PNG_DEBUG > 0) */ #endif /* PNG_DEBUG */ @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.4.0beta48 - February 14, 2009 + * libpng version 1.4.0beta49 - February 28, 2009 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -43,6 +43,11 @@ #include "pngusr.h" #endif +/* Added at libpng-1.4.0beta49 for testing */ +#ifndef PNG_NO_CALLOC +# define PNG_CALLOC_SUPPORTED +#endif + /* * If you create a private DLL you need to define in "pngusr.h" the followings: * #define PNG_USER_PRIVATEBUILD <Describes by whom and why this version of @@ -1334,6 +1339,7 @@ typedef char FAR * FAR * FAR * png_charppp; # define NOCHECK 0 # define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK)) # define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK)) +# define png_fileno _fileno /* Added to v 1.4.0 */ # define png_strcpy _fstrcpy # define png_strncpy _fstrncpy /* Added to v 1.2.6 */ # define png_strlen _fstrlen @@ -1345,6 +1351,7 @@ typedef char FAR * FAR * FAR * png_charppp; # if defined(_WINDOWS_) /* favor Windows over C runtime fns */ # define CVT_PTR(ptr) (ptr) # define CVT_PTR_NOCHECK(ptr) (ptr) +# define png_fileno fileno # define png_strcpy lstrcpyA # define png_strncpy lstrcpynA # define png_strlen lstrlenA @@ -1355,6 +1362,7 @@ typedef char FAR * FAR * FAR * png_charppp; # else # define CVT_PTR(ptr) (ptr) # define CVT_PTR_NOCHECK(ptr) (ptr) +# define png_fileno fileno /* Added to v 1.4.0 */ # define png_strcpy strcpy # define png_strncpy strncpy /* Added to v 1.2.6 */ # define png_strlen strlen diff --git a/pngerror.c b/pngerror.c index cb0e70051..67259b7fa 100644 --- a/pngerror.c +++ b/pngerror.c @@ -1,7 +1,7 @@ /* pngerror.c - stub functions for i/o and memory allocation * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1,7 +1,7 @@ /* pngget.c - retrieval of values from info struct * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1,7 +1,7 @@ /* pngmem.c - stub functions for memory allocation * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -111,7 +111,7 @@ png_destroy_struct_2(png_voidp struct_ptr, png_free_ptr free_fn, * result, we would be truncating potentially larger memory requests * (which should cause a fatal error) and introducing major problems. */ - +#ifdef PNG_CALLOC_SUPPORTED png_voidp PNGAPI png_calloc(png_structp png_ptr, png_alloc_size_t size) { @@ -122,6 +122,7 @@ png_calloc(png_structp png_ptr, png_alloc_size_t size) png_memset(ret,0,(png_size_t)size); return (ret); } +#endif png_voidp PNGAPI png_malloc(png_structp png_ptr, png_alloc_size_t size) diff --git a/pngpread.c b/pngpread.c index 432bd2f03..b4eee04dd 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1,7 +1,7 @@ /* pngpread.c - read a png file in push mode * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1,7 +1,7 @@ /* pngpriv.h - private declarations for use inside libpng * - * libpng version 1.4.0beta48 - February 14, 2009 + * libpng version 1.4.0beta49 - February 28, 2009 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1,7 +1,7 @@ /* pngread.c - read a PNG file * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1377,8 +1377,15 @@ png_read_png(png_structp png_ptr, png_infop info_ptr, #endif if (info_ptr->row_pointers == NULL) { +#ifdef PNG_CALLOC_SUPPORTED info_ptr->row_pointers = (png_bytepp)png_calloc(png_ptr, info_ptr->height * png_sizeof(png_bytep)); +#else + info_ptr->row_pointers = (png_bytepp)png_malloc(png_ptr, + info_ptr->height * png_sizeof(png_bytep)); + png_memset(info_ptr->row_pointers, 0, + info_ptr->height * png_sizeof(png_bytep)); +#endif #ifdef PNG_FREE_ME_SUPPORTED info_ptr->free_me |= PNG_FREE_ROWS; #endif @@ -1,7 +1,7 @@ /* pngrio.c - functions for data input * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -116,7 +116,9 @@ png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length) a location where input data can be stored, and a 32-bit unsigned int that is the number of bytes to be read. To exit and output any fatal error messages the new write - function should call png_error(png_ptr, "Error msg"). */ + function should call png_error(png_ptr, "Error msg"). + May be NULL, in which case libpng's default function will + be used. */ void PNGAPI png_set_read_fn(png_structp png_ptr, png_voidp io_ptr, png_rw_ptr read_data_fn) diff --git a/pngrtran.c b/pngrtran.c index eae7e3c8b..808038b73 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -1,7 +1,7 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -321,8 +321,14 @@ png_set_dither(png_structp png_ptr, png_colorp palette, png_ptr->palette_to_index[i] = (png_byte)i; } +#ifdef PNG_CALLOC_SUPPORTED hash = (png_dsortpp)png_calloc(png_ptr, (png_uint_32)(769 * png_sizeof(png_dsortp))); +#else + hash = (png_dsortpp)png_malloc(png_ptr, (png_uint_32)(769 * + png_sizeof(png_dsortp))); + png_memset(hash, 0, 769 * png_sizeof(png_dsortp)); +#endif num_new_palette = num_palette; @@ -469,8 +475,15 @@ png_set_dither(png_structp png_ptr, png_colorp palette, int num_blue = (1 << PNG_DITHER_BLUE_BITS); png_size_t num_entries = ((png_size_t)1 << total_bits); +#ifdef PNG_CALLOC_SUPPORTED png_ptr->palette_lookup = (png_bytep )png_calloc(png_ptr, (png_uint_32)(num_entries * png_sizeof(png_byte))); +#else + png_ptr->palette_lookup = (png_bytep )png_malloc(png_ptr, + (png_uint_32)(num_entries * png_sizeof(png_byte))); + png_memset(png_ptr->palette_lookup, 0, num_entries * + png_sizeof(png_byte)); +#endif distance = (png_bytep)png_malloc(png_ptr, (png_uint_32)(num_entries * png_sizeof(png_byte))); @@ -3976,8 +3989,14 @@ png_build_gamma_table(png_structp png_ptr) else g = 1.0; +#ifdef PNG_CALLOC_SUPPORTED png_ptr->gamma_16_table = (png_uint_16pp)png_calloc(png_ptr, (png_uint_32)(num * png_sizeof(png_uint_16p))); +#else + png_ptr->gamma_16_table = (png_uint_16pp)png_malloc(png_ptr, + (png_uint_32)(num * png_sizeof(png_uint_16p))); + png_memset(png_ptr->gamma_16_table, 0, num * png_sizeof(png_uint_16p)); +#endif if (png_ptr->transformations & (PNG_16_TO_8 | PNG_BACKGROUND)) { @@ -4036,8 +4055,14 @@ png_build_gamma_table(png_structp png_ptr) g = 1.0 / (png_ptr->gamma); +#ifdef PNG_CALLOC_SUPPORTED png_ptr->gamma_16_to_1 = (png_uint_16pp)png_calloc(png_ptr, (png_uint_32)(num * png_sizeof(png_uint_16p ))); +#else + png_ptr->gamma_16_to_1 = (png_uint_16pp)png_malloc(png_ptr, + (png_uint_32)(num * png_sizeof(png_uint_16p ))); + png_memset(png_ptr->gamma_16_to_1, 0, num * png_sizeof(png_uint_16p)); +#endif for (i = 0; i < num; i++) { @@ -4059,8 +4084,15 @@ png_build_gamma_table(png_structp png_ptr) else g = png_ptr->gamma; /* probably doing rgb_to_gray */ +#ifdef PNG_CALLOC_SUPPORTED png_ptr->gamma_16_from_1 = (png_uint_16pp)png_calloc(png_ptr, (png_uint_32)(num * png_sizeof(png_uint_16p))); +#else + png_ptr->gamma_16_from_1 = (png_uint_16pp)png_malloc(png_ptr, + (png_uint_32)(num * png_sizeof(png_uint_16p))); + png_memset(png_ptr->gamma_16_from_1, 0, + num * png_sizeof(png_uint_16p)); +#endif for (i = 0; i < num; i++) { diff --git a/pngrutil.c b/pngrutil.c index 62389bfbd..9d3b1d38c 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,7 +1,7 @@ /* pngrutil.c - utilities to read a PNG file * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1,7 +1,7 @@ /* pngset.c - storage of image information into info struct * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -383,7 +383,7 @@ png_set_pCAL(png_structp png_ptr, png_infop info_ptr, return; } - png_memset(info_ptr->pcal_params[nparams],0,nparams*png_sizeof(png_charp)); + png_memset(info_ptr->pcal_params, 0, (nparams + 1) * png_sizeof(png_charp)); for (i = 0; i < nparams; i++) { @@ -518,8 +518,15 @@ png_set_PLTE(png_structp png_ptr, png_infop info_ptr, /* Changed in libpng-1.2.1 to allocate PNG_MAX_PALETTE_LENGTH instead of num_palette entries, in case of an invalid PNG file that has too-large sample values. */ +#ifdef PNG_CALLOC_SUPPORTED png_ptr->palette = (png_colorp)png_calloc(png_ptr, PNG_MAX_PALETTE_LENGTH * png_sizeof(png_color)); +#else + png_ptr->palette = (png_colorp)png_malloc(png_ptr, + PNG_MAX_PALETTE_LENGTH * png_sizeof(png_color)); + png_memset(png_ptr->palette, 0, PNG_MAX_PALETTE_LENGTH * + png_sizeof(png_color)); +#endif png_memcpy(png_ptr->palette, palette, num_palette * png_sizeof(png_color)); info_ptr->palette = png_ptr->palette; info_ptr->num_palette = png_ptr->num_palette = (png_uint_16)num_palette; @@ -1,7 +1,7 @@ /* pngtest.c - a simple test program to test libpng * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1613,4 +1613,4 @@ main(int argc, char *argv[]) } /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_4_0beta48 your_png_h_is_not_version_1_4_0beta48; +typedef version_1_4_0beta49 your_png_h_is_not_version_1_4_0beta49; diff --git a/pngtrans.c b/pngtrans.c index d008e6199..6a4271289 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) * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1,7 +1,7 @@ /* pngwio.c - functions for data output * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -119,7 +119,7 @@ png_default_flush(png_structp png_ptr) png_FILE_p io_ptr; if (png_ptr == NULL) return; io_ptr = (png_FILE_p)CVT_PTR((png_ptr->io_ptr)); - if (io_ptr != NULL && fileno(io_ptr) != -1) + if (io_ptr != NULL && png_fileno(io_ptr) != -1) fflush(io_ptr); } #endif @@ -137,7 +137,9 @@ png_default_flush(png_structp png_ptr) data to be written, and a 32-bit unsigned int that is the number of bytes to be written. The new write function should call png_error(png_ptr, "Error msg") - to exit and output any fatal error messages. + to exit and output any fatal error messages. May be + NULL, in which case libpng's default function will + be used. flush_data_fn - pointer to a new flush function that takes as its arguments a pointer to a png_struct. After a call to the flush function, there should be no data in any buffers @@ -146,7 +148,8 @@ png_default_flush(png_structp png_ptr) supplied although it doesn't have to do anything. If PNG_WRITE_FLUSH_SUPPORTED is not defined at libpng compile time, output_flush_fn will be ignored, although it must be - supplied for compatibility. */ + supplied for compatibility. May be NULL, in which case + libpng's default function will be used. */ void PNGAPI png_set_write_fn(png_structp png_ptr, png_voidp io_ptr, png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn) diff --git a/pngwrite.c b/pngwrite.c index ffc994650..86308ee25 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -1,7 +1,7 @@ /* pngwrite.c - general routines to write a PNG file * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwtran.c b/pngwtran.c index af38e6a4c..b66a4c73a 100644 --- a/pngwtran.c +++ b/pngwtran.c @@ -1,7 +1,7 @@ /* pngwtran.c - transforms the data in a row for PNG writers * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwutil.c b/pngwutil.c index 46710fa2a..8dc83fc4c 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -1,7 +1,7 @@ /* pngwutil.c - utilities to write a PNG file * - * Last changed in libpng 1.4.0 [February 14, 2009] + * Last changed in libpng 1.4.0 [February 28, 2009] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2009 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1767,8 +1767,14 @@ png_write_start_row(png_structp png_ptr) if (png_ptr->do_filter & (PNG_FILTER_AVG | PNG_FILTER_UP | PNG_FILTER_PAETH)) { /* set up previous row buffer */ - png_ptr->prev_row = (png_bytep)png_calloc(png_ptr, +#ifdef PNG_CALLOC_SUPPORTED + png_ptr->prev_row = (png_bytep)png_calloc(png_ptr, (png_alloc_size_t)buf_size); +#else + png_ptr->prev_row = (png_bytep)png_malloc(png_ptr, + (png_uint_32)buf_size); + png_memset(png_ptr->prev_row, 0, buf_size); +#endif if (png_ptr->do_filter & PNG_FILTER_UP) { diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 55dbf9bc0..d2fd7ba72 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -178,7 +178,7 @@ configure_file(${PNG_SOURCE_DIR}/scripts/libpng-config.in # SET UP LINKS set_target_properties(${PNG_LIB_NAME} PROPERTIES -# VERSION 0.${PNGLIB_RELEASE}.1.4.0beta48 +# VERSION 0.${PNGLIB_RELEASE}.1.4.0beta49 VERSION 0.${PNGLIB_RELEASE}.0 SOVERSION 0 CLEAN_DIRECT_OUTPUT 1) diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in index 326ed5e85..aa32a0d58 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -8,7 +8,7 @@ # Modeled after libxml-config. -version=1.4.0beta48 +version=1.4.0beta49 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index 9cb742158..df003a1f8 100644 --- a/scripts/libpng.pc.in +++ b/scripts/libpng.pc.in @@ -5,6 +5,6 @@ includedir=@includedir@/libpng14 Name: libpng Description: Loads and saves PNG files -Version: 1.4.0beta48 +Version: 1.4.0beta49 Libs: -L${libdir} -lpng14 Cflags: -I${includedir} diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu index 7efb4c8ee..f866bc9e6 100644 --- a/scripts/makefile.32sunu +++ b/scripts/makefile.32sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu index a32690ee9..4746baf4e 100644 --- a/scripts/makefile.64sunu +++ b/scripts/makefile.64sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 15c4836e4..03a4cc3d0 100644 --- a/scripts/makefile.aix +++ b/scripts/makefile.aix @@ -20,7 +20,7 @@ LN_SF = ln -f -s LIBNAME=libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) prefix=/usr/local diff --git a/scripts/makefile.beos b/scripts/makefile.beos index fe3675367..5bee01023 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index 66dbf1f1d..aaba952e5 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -65,7 +65,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng14 PNGMAJ = 14 CYGDLL = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=cygpng$(CYGDLL).dll diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin index 437478151..73c0ba6dd 100644 --- a/scripts/makefile.darwin +++ b/scripts/makefile.darwin @@ -19,7 +19,7 @@ ZLIBINC=../zlib # Library name: LIBNAME = libpng14 PNGMAJ = 12 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.dec b/scripts/makefile.dec index 1949091e8..15eeb77b6 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -5,7 +5,7 @@ # Library name: PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng14 diff --git a/scripts/makefile.elf b/scripts/makefile.elf index e2e368b73..c7b8eb158 100644 --- a/scripts/makefile.elf +++ b/scripts/makefile.elf @@ -12,7 +12,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index e0e9dea00..4e7dedc4b 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -16,7 +16,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64 index 2387cce84..e53240beb 100644 --- a/scripts/makefile.hp64 +++ b/scripts/makefile.hp64 @@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include # Library name: LIBNAME = libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index 527d0066f..9d3708572 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index 04ce3e956..e3a26216c 100644 --- a/scripts/makefile.hpux +++ b/scripts/makefile.hpux @@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include # Library name: LIBNAME = libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 6ffdcbb2c..cb276200f 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -6,7 +6,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw index 1f2972abe..c3d3530d3 100644 --- a/scripts/makefile.mingw +++ b/scripts/makefile.mingw @@ -81,7 +81,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng14 PNGMAJ = 14 MINGDLL = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=libpng$(MINGDLL).dll diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index 7f0acea08..00932601a 100644 --- a/scripts/makefile.ne12bsd +++ b/scripts/makefile.ne12bsd @@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng14 LIB= png14 SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.4.0beta48 +SHLIB_MINOR= 1.4.0beta49 SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \ pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \ pngwtran.c pngmem.c pngerror.c pngpread.c diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd index eb9ea0c4f..08ca4da24 100644 --- a/scripts/makefile.netbsd +++ b/scripts/makefile.netbsd @@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng LIB= png SHLIB_MAJOR= 3 -SHLIB_MINOR= 1.4.0beta48 +SHLIB_MINOR= 1.4.0beta49 SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \ pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \ pngwtran.c pngmem.c pngerror.c pngpread.c diff --git a/scripts/makefile.nommx b/scripts/makefile.nommx index 6cad96bd6..6a98477fc 100644 --- a/scripts/makefile.nommx +++ b/scripts/makefile.nommx @@ -16,7 +16,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd index 1b56071fc..a35495c99 100644 --- a/scripts/makefile.openbsd +++ b/scripts/makefile.openbsd @@ -8,7 +8,7 @@ LIBDIR= ${PREFIX}/lib MANDIR= ${PREFIX}/man/cat SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.4.0beta48 +SHLIB_MINOR= 1.4.0beta49 LIB= png SRCS= png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \ diff --git a/scripts/makefile.sco b/scripts/makefile.sco index ef6522ef3..8c8fe3508 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -9,7 +9,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index 5adf9d3b8..66738158a 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index c0e620239..31af45381 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.so9 b/scripts/makefile.so9 index 6c0497917..2ce5586af 100644 --- a/scripts/makefile.so9 +++ b/scripts/makefile.so9 @@ -8,7 +8,7 @@ # Library name: PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng14 diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index cb906b7ee..faef92f82 100644 --- a/scripts/makefile.solaris +++ b/scripts/makefile.solaris @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng14 PNGMAJ = 14 -PNGMIN = 1.4.0beta48 +PNGMIN = 1.4.0beta49 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/pngos2.def b/scripts/pngos2.def index dbb665994..388659df9 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.4.0beta48 +; Version 1.4.0beta49 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2" diff --git a/scripts/pngwin.def b/scripts/pngwin.def index 12a58f5c6..3ff3fab56 100644 --- a/scripts/pngwin.def +++ b/scripts/pngwin.def @@ -5,7 +5,7 @@ LIBRARY EXPORTS -;Version 1.4.0beta48 +;Version 1.4.0beta49 png_build_grayscale_palette png_chunk_error png_chunk_warning |