diff options
author | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2012-01-14 20:57:41 -0600 |
---|---|---|
committer | Glenn Randers-Pehrson <glennrp at users.sourceforge.net> | 2012-01-14 20:59:14 -0600 |
commit | ea8d0b9408064d03e35b09ab4e206c04bca08cac (patch) | |
tree | a749387ae5b609c269032f869cd8665ab09991c3 | |
parent | 9287447cef5fba09d4fac7258f4860995a5c3523 (diff) | |
download | libpng-ea8d0b9408064d03e35b09ab4e206c04bca08cac.tar.gz |
[libpng15] Imported from libpng-1.5.8beta01.tarv1.5.8beta01
-rw-r--r-- | ANNOUNCE | 8 | ||||
-rw-r--r-- | CHANGES | 6 | ||||
-rw-r--r-- | CMakeLists.txt | 4 | ||||
-rw-r--r-- | LICENSE | 4 | ||||
-rw-r--r-- | README | 2 | ||||
-rwxr-xr-x | configure | 24 | ||||
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | contrib/libtests/pngvalid.c | 2 | ||||
-rw-r--r-- | libpng-manual.txt | 8 | ||||
-rw-r--r-- | libpng.3 | 19 | ||||
-rw-r--r-- | libpngpf.3 | 4 | ||||
-rw-r--r-- | png.5 | 2 | ||||
-rw-r--r-- | png.c | 6 | ||||
-rw-r--r-- | png.h | 27 | ||||
-rw-r--r-- | pngconf.h | 4 | ||||
-rw-r--r-- | pngerror.c | 57 | ||||
-rw-r--r-- | pngtest.c | 2 | ||||
-rw-r--r-- | projects/vstudio/readme.txt | 2 | ||||
-rw-r--r-- | projects/vstudio/zlib.props | 2 | ||||
-rw-r--r-- | scripts/README.txt | 12 | ||||
-rwxr-xr-x | scripts/libpng-config-head.in | 2 | ||||
-rw-r--r-- | scripts/libpng.pc.in | 2 | ||||
-rw-r--r-- | scripts/makefile.cegcc | 2 | ||||
-rw-r--r-- | scripts/makefile.linux | 2 | ||||
-rw-r--r-- | scripts/makefile.ne12bsd | 2 | ||||
-rw-r--r-- | scripts/makefile.netbsd | 2 | ||||
-rw-r--r-- | scripts/makefile.openbsd | 2 | ||||
-rw-r--r-- | scripts/pnglibconf.h.prebuilt | 2 | ||||
-rw-r--r-- | scripts/symbols.def | 2 |
29 files changed, 119 insertions, 103 deletions
@@ -1,5 +1,5 @@ -Libpng 1.5.8beta01 - December 21, 2011 +Libpng 1.5.8beta01 - January 15, 2012 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. @@ -26,9 +26,13 @@ Other information: Changes since the last public release (1.5.7): -Version 1.5.8beta01 [December 21, 2011] +Version 1.5.8beta01 [January 15, 2012] Removed '#include config.h"' from contrib/libtests/pngvalid.c. It's not needed and causes trouble for VPATH building. + Moved AC_MSG_CHECKING([if libraries can be versioned]) later to the proper + location in configure.ac (Gilles Espinasse). + Fix bug in pngerror.c: some long warnings were being improperly truncated + (bug introduced in libpng-1.5.3beta05). Send comments/corrections/commendations to png-mng-implement at lists.sf.net: (subscription required; visit @@ -3776,9 +3776,13 @@ Version 1.5.7 [December 15, 2011] Minor fixes to pngvalid.c for gcc 4.6.2 compatibility to remove warnings reported by earlier versions. -Version 1.5.8beta01 [December 21, 2011] +Version 1.5.8beta01 [January 15, 2012] Removed '#include config.h"' from contrib/libtests/pngvalid.c. It's not needed and causes trouble for VPATH building. + Moved AC_MSG_CHECKING([if libraries can be versioned]) later to the proper + location in configure.ac (Gilles Espinasse). + Fix bug in pngerror.c: some long warnings were being improperly truncated + (bug introduced in libpng-1.5.3beta05). Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CMakeLists.txt b/CMakeLists.txt index 87cb16de1..f1c600f7d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,7 +35,7 @@ enable_testing() set(PNGLIB_MAJOR 1) set(PNGLIB_MINOR 5) -set(PNGLIB_RELEASE 7) +set(PNGLIB_RELEASE 8) set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR}) set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE}) @@ -229,7 +229,7 @@ endif(NOT WIN32 OR CYGWIN OR MINGW) # SET UP LINKS if(PNG_SHARED) set_target_properties(${PNG_LIB_NAME} PROPERTIES -# VERSION 15.${PNGLIB_RELEASE}.1.5.7 +# VERSION 15.${PNGLIB_RELEASE}.1.5.8beta01 VERSION 15.${PNGLIB_RELEASE}.0 SOVERSION 15 CLEAN_DIRECT_OUTPUT 1) @@ -10,7 +10,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.2.6, August 15, 2004, through 1.5.7, December 15, 2011, are +libpng versions 1.2.6, August 15, 2004, through 1.5.8beta01, January 15, 2012, are Copyright (c) 2004, 2006-2011 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 @@ -108,4 +108,4 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -December 15, 2011 +January 15, 2012 @@ -1,4 +1,4 @@ -README for libpng version 1.5.7 - December 15, 2011 (shared library 15.0) +README for libpng version 1.5.8beta01 - January 15, 2012 (shared library 15.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for libpng 1.5.7. +# Generated by GNU Autoconf 2.68 for libpng 1.5.8beta01. # # Report bugs to <png-mng-implement@lists.sourceforge.net>. # @@ -570,8 +570,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libpng' PACKAGE_TARNAME='libpng' -PACKAGE_VERSION='1.5.7' -PACKAGE_STRING='libpng 1.5.7' +PACKAGE_VERSION='1.5.8beta01' +PACKAGE_STRING='libpng 1.5.8beta01' PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net' PACKAGE_URL='' @@ -1320,7 +1320,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.5.7 to adapt to many kinds of systems. +\`configure' configures libpng 1.5.8beta01 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1390,7 +1390,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libpng 1.5.7:";; + short | recursive ) echo "Configuration of libpng 1.5.8beta01:";; esac cat <<\_ACEOF @@ -1501,7 +1501,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libpng configure 1.5.7 +libpng configure 1.5.8beta01 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -1924,7 +1924,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.5.7, which was +It was created by libpng $as_me 1.5.8beta01, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2739,7 +2739,7 @@ fi # Define the identity of the package. PACKAGE='libpng' - VERSION='1.5.7' + VERSION='1.5.8beta01' cat >>confdefs.h <<_ACEOF @@ -2803,10 +2803,10 @@ fi -PNGLIB_VERSION=1.5.7 +PNGLIB_VERSION=1.5.8beta01 PNGLIB_MAJOR=1 PNGLIB_MINOR=5 -PNGLIB_RELEASE=7 +PNGLIB_RELEASE=8 @@ -13414,7 +13414,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=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.5.7, which was +This file was extended by libpng $as_me 1.5.8beta01, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13480,7 +13480,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libpng config.status 1.5.7 +libpng config.status 1.5.8beta01 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 550553ed8..0110822c2 100644 --- a/configure.ac +++ b/configure.ac @@ -18,15 +18,15 @@ AC_PREREQ(2.59) dnl Version number stuff here: -AC_INIT([libpng], [1.5.7], [png-mng-implement@lists.sourceforge.net]) +AC_INIT([libpng], [1.5.8beta01], [png-mng-implement@lists.sourceforge.net]) AM_INIT_AUTOMAKE dnl stop configure from automagically running automake AM_MAINTAINER_MODE -PNGLIB_VERSION=1.5.7 +PNGLIB_VERSION=1.5.8beta01 PNGLIB_MAJOR=1 PNGLIB_MINOR=5 -PNGLIB_RELEASE=7 +PNGLIB_RELEASE=8 dnl End of version number stuff @@ -101,8 +101,6 @@ LIBPNG_DEFINES=-DPNG_CONFIGURE_LIBPNG LIBPNG_DEFINES=$LIBPNG_DEFINES AC_SUBST(LIBPNG_DEFINES) -AC_MSG_CHECKING([if libraries can be versioned]) - AC_MSG_CHECKING([if using Solaris linker]) SLD=`$LD --version 2>&1 | grep Solaris` if test "$SLD"; then @@ -114,6 +112,7 @@ else fi AM_CONDITIONAL(HAVE_SOLARIS_LD, test "$have_solaris_ld" = "yes") +AC_MSG_CHECKING([if libraries can be versioned]) # Special case for PE/COFF platforms: ld reports # support for version-script, but doesn't actually # DO anything with it. diff --git a/contrib/libtests/pngvalid.c b/contrib/libtests/pngvalid.c index af586f521..3dd6f2133 100644 --- a/contrib/libtests/pngvalid.c +++ b/contrib/libtests/pngvalid.c @@ -2,7 +2,7 @@ /* pngvalid.c - validate libpng by constructing then reading png files. * * Last changed in libpng 1.5.8 [%RDATE%] - * Copyright (c) 2011 Glenn Randers-Pehrson + * Copyright (c) 2012 Glenn Randers-Pehrson * Written by John Cunningham Bowler * * This code is released under the libpng license. diff --git a/libpng-manual.txt b/libpng-manual.txt index 59690d255..6a0e41e76 100644 --- a/libpng-manual.txt +++ b/libpng-manual.txt @@ -1,6 +1,6 @@ libpng-manual.txt - A description on how to use and modify libpng - libpng version 1.5.7 - December 15, 2011 + libpng version 1.5.8beta01 - January 15, 2012 Updated and distributed by Glenn Randers-Pehrson <glennrp at users.sourceforge.net> Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.5.7 - December 15, 2011 + libpng versions 0.97, January 1998, through 1.5.8beta01 - January 15, 2012 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -4573,13 +4573,13 @@ Other rules can be inferred by inspecting the libpng source. XIV. Y2K Compliance in libpng -December 15, 2011 +January 15, 2012 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.5.7 are Y2K compliant. It is my belief that earlier +upward through 1.5.8beta01 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 "December 15, 2011" +.TH LIBPNG 3 "January 15, 2012" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.5.7 +libpng \- Portable Network Graphics (PNG) Reference Library 1.5.8beta01 .SH SYNOPSIS \fI\fB @@ -977,7 +977,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng. .SH LIBPNG.TXT libpng-manual.txt - A description on how to use and modify libpng - libpng version 1.5.7 - December 15, 2011 + libpng version 1.5.8beta01 - January 15, 2012 Updated and distributed by Glenn Randers-Pehrson <glennrp at users.sourceforge.net> Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -988,7 +988,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.5.7 - December 15, 2011 + libpng versions 0.97, January 1998, through 1.5.8beta01 - January 15, 2012 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -5551,13 +5551,13 @@ Other rules can be inferred by inspecting the libpng source. .SH XIV. Y2K Compliance in libpng -December 15, 2011 +January 15, 2012 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.5.7 are Y2K compliant. It is my belief that earlier +upward through 1.5.8beta01 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 @@ -5762,6 +5762,7 @@ the first widely used release: 1.5.7beta01-05 15 10507 15.so.15.7[.0] 1.5.7rc01-03 15 10507 15.so.15.7[.0] 1.5.7 15 10507 15.so.15.7[.0] + 1.5.8beta01 15 10508 15.so.15.8[.0] Henceforth the source version will match the shared-library minor and patch numbers; the shared-library major version number will be @@ -5818,7 +5819,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.5.7 - December 15, 2011: +Libpng version 1.5.8beta01 - January 15, 2012: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -5841,7 +5842,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.2.6, August 15, 2004, through 1.5.7, December 15, 2011, are +libpng versions 1.2.6, August 15, 2004, through 1.5.8beta01, January 15, 2012, 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 @@ -5940,7 +5941,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -December 15, 2011 +January 15, 2012 .\" end of man page diff --git a/libpngpf.3 b/libpngpf.3 index 12a1677ba..ca183fb2b 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "December 15, 2011" +.TH LIBPNGPF 3 "January 15, 2012" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.5.7 +libpng \- Portable Network Graphics (PNG) Reference Library 1.5.8beta01 (private functions) .SH SYNOPSIS \fB#include \fI"pngpriv.h" @@ -1,4 +1,4 @@ -.TH PNG 5 "December 15, 2011" +.TH PNG 5 "January 15, 2012" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION @@ -14,7 +14,7 @@ #include "pngpriv.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef png_libpng_version_1_5_7 Your_png_h_is_not_version_1_5_7; +typedef png_libpng_version_1_5_8beta01 Your_png_h_is_not_version_1_5_8beta01; /* Tells libpng that we have already handled the first "num_bytes" bytes * of the PNG file signature. If the PNG data is embedded into another @@ -655,13 +655,13 @@ png_get_copyright(png_const_structp png_ptr) #else # ifdef __STDC__ return PNG_STRING_NEWLINE \ - "libpng version 1.5.7 - December 15, 2011" PNG_STRING_NEWLINE \ + "libpng version 1.5.8beta01 - January 15, 2012" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2011 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 "libpng version 1.5.7 - December 15, 2011\ + return "libpng version 1.5.8beta01 - January 15, 2012\ Copyright (c) 1998-2011 Glenn Randers-Pehrson\ Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."; @@ -1,8 +1,8 @@ /* png.h - header file for PNG reference library * - * libpng version 1.5.7 - December 15, 2011 - * Copyright (c) 1998-2011 Glenn Randers-Pehrson + * libpng version 1.5.8beta01 - January 15, 2012 + * Copyright (c) 1998-2012 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.) * @@ -11,7 +11,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.5.7 - December 15, 2011: Glenn + * libpng versions 0.97, January 1998, through 1.5.8beta01 - January 15, 2012: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -166,6 +166,7 @@ * 1.5.7beta01-05 15 10507 15.so.15.7[.0] * 1.5.7rc01-03 15 10507 15.so.15.7[.0] * 1.5.7 15 10507 15.so.15.7[.0] + * 1.5.8beta01 15 10508 15.so.15.8[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -197,8 +198,8 @@ * * This code is released under the libpng license. * - * libpng versions 1.2.6, August 15, 2004, through 1.5.7, December 15, 2011, are - * Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are + * libpng versions 1.2.6, August 15, 2004, through 1.5.8beta01, January 15, 2012, are + * Copyright (c) 2004, 2006-2012 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: * @@ -309,13 +310,13 @@ * Y2K compliance in libpng: * ========================= * - * December 15, 2011 + * January 15, 2012 * * 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.5.7 are Y2K compliant. It is my belief that + * upward through 1.5.8beta01 are Y2K compliant. It is my belief that * earlier versions were also Y2K compliant. * * Libpng only has two year fields. One is a 2-byte unsigned integer @@ -373,9 +374,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.5.7" +#define PNG_LIBPNG_VER_STRING "1.5.8beta01" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.5.7 - December 15, 2011\n" + " libpng version 1.5.8beta01 - January 15, 2012\n" #define PNG_LIBPNG_VER_SONUM 15 #define PNG_LIBPNG_VER_DLLNUM 15 @@ -383,13 +384,13 @@ /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ #define PNG_LIBPNG_VER_MAJOR 1 #define PNG_LIBPNG_VER_MINOR 5 -#define PNG_LIBPNG_VER_RELEASE 7 +#define PNG_LIBPNG_VER_RELEASE 8 /* This should match the numeric part of the final component of * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ -#define PNG_LIBPNG_VER_BUILD 0 +#define PNG_LIBPNG_VER_BUILD 01 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -414,7 +415,7 @@ * version 1.0.0 was mis-numbered 100 instead of 10000). From * version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */ -#define PNG_LIBPNG_VER 10507 /* 1.5.7 */ +#define PNG_LIBPNG_VER 10508 /* 1.5.8 */ /* Library configuration: these options cannot be changed after * the library has been built. @@ -536,7 +537,7 @@ extern "C" { /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef char* png_libpng_version_1_5_7; +typedef char* png_libpng_version_1_5_8beta01; /* Three color definitions. The order of the red, green, and blue, (and the * exact size) is not important, although the size of the fields need to @@ -1,9 +1,9 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.5.7 - December 15, 2011 + * libpng version 1.5.8beta01 - January 15, 2012 * - * Copyright (c) 1998-2011 Glenn Randers-Pehrson + * Copyright (c) 1998-2012 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.) * diff --git a/pngerror.c b/pngerror.c index 7604bddf1..e53da05bd 100644 --- a/pngerror.c +++ b/pngerror.c @@ -284,32 +284,35 @@ png_formatted_warning(png_structp png_ptr, png_warning_parameters p, /* The internal buffer is just 128 bytes - enough for all our messages, * overflow doesn't happen because this code checks! */ - size_t i; + size_t i = 0; /* Index in the msg[] buffer: */ char msg[128]; - for (i=0; i<(sizeof msg)-1 && *message != '\0'; ++i) + /* Each iteration through the following loop writes at most one character + * to msg[i++] then returns here to validate that there is still space for + * the trailing '\0'. It may (in the case of a parameter) read more than + * one character from message[]; it must check for '\0' and continue to the + * test if it finds the end of string. + */ + while (i<(sizeof msg)-1 && *message != '\0') { - if (*message == '@') + /* '@' at end of string is now just printed (previously it was skipped); + * it is an error in the calling code to terminate the string with @. + */ + if (p != NULL && *message == '@' && message[1] != '\0') { - int parameter = -1; - switch (*++message) - { - case '1': - parameter = 0; - break; - - case '2': - parameter = 1; - break; + int parameter_char = *++message; /* Consume the '@' */ + static const char valid_parameters[] = "123456789"; + int parameter = 0; - case '\0': - continue; /* To break out of the for loop above. */ - - default: - break; - } + /* Search for the parameter digit, the index in the string is the + * parameter to use. + */ + while (valid_parameters[parameter] != parameter_char && + valid_parameters[parameter] != '\0') + ++parameter; - if (parameter >= 0 && parameter < PNG_WARNING_PARAMETER_COUNT) + /* If the parameter digit is out of range it will just get printed. */ + if (parameter < PNG_WARNING_PARAMETER_COUNT) { /* Append this parameter */ png_const_charp parm = p[parameter]; @@ -319,28 +322,32 @@ png_formatted_warning(png_structp png_ptr, png_warning_parameters p, * that parm[] has been initialized, so there is no guarantee of a * trailing '\0': */ - for (; i<(sizeof msg)-1 && parm != '\0' && parm < pend; ++i) - msg[i] = *parm++; + while (i<(sizeof msg)-1 && *parm != '\0' && parm < pend) + msg[i++] = *parm++; + /* Consume the parameter digit too: */ ++message; continue; } /* else not a parameter and there is a character after the @ sign; just - * copy that. + * copy that. This is known not to be '\0' because of the test above. */ } /* At this point *message can't be '\0', even in the bad parameter case * above where there is a lone '@' at the end of the message string. */ - msg[i] = *message++; + msg[i++] = *message++; } /* i is always less than (sizeof msg), so: */ msg[i] = '\0'; - /* And this is the formatted message: */ + /* And this is the formatted message, it may be larger than + * PNG_MAX_ERROR_TEXT, but that is only used for 'chunk' errors and these are + * not (currently) formatted. + */ png_warning(png_ptr, msg); } #endif /* PNG_WARNINGS_SUPPORTED */ @@ -1817,4 +1817,4 @@ main(int argc, char *argv[]) } /* Generate a compiler error if there is an old png.h in the search path. */ -typedef png_libpng_version_1_5_7 Your_png_h_is_not_version_1_5_7; +typedef png_libpng_version_1_5_8beta01 Your_png_h_is_not_version_1_5_8beta01; diff --git a/projects/vstudio/readme.txt b/projects/vstudio/readme.txt index a18faa125..4405cf472 100644 --- a/projects/vstudio/readme.txt +++ b/projects/vstudio/readme.txt @@ -1,7 +1,7 @@ VisualStudio instructions -libpng version 1.5.7 - December 15, 2011 +libpng version 1.5.8beta01 - January 15, 2012 Copyright (c) 1998-2010 Glenn Randers-Pehrson diff --git a/projects/vstudio/zlib.props b/projects/vstudio/zlib.props index c13867c35..46378fe96 100644 --- a/projects/vstudio/zlib.props +++ b/projects/vstudio/zlib.props @@ -2,7 +2,7 @@ <!-- * zlib.props - location of zlib source * - * libpng version 1.5.7 - December 15, 2011 + * libpng version 1.5.8beta01 - January 15, 2012 * * Copyright (c) 1998-2011 Glenn Randers-Pehrson * diff --git a/scripts/README.txt b/scripts/README.txt index 485aba225..032a57d73 100644 --- a/scripts/README.txt +++ b/scripts/README.txt @@ -1,9 +1,9 @@ -Makefiles for libpng version 1.5.7 - December 15, 2011 +Makefiles for libpng version 1.5.8beta01 - January 15, 2012 pnglibconf.h.prebuilt => Stores configuration settings makefile.linux => Linux/ELF makefile - (gcc, creates libpng15.so.15.1.5.7) + (gcc, creates libpng15.so.15.1.5.8beta01) makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.knr => Archaic UNIX Makefile that converts files with ansi2knr (Requires ansi2knr.c from @@ -20,7 +20,7 @@ pnglibconf.h.prebuilt => Stores configuration settings makefile.dec => DEC Alpha UNIX makefile makefile.dj2 => DJGPP 2 makefile makefile.elf => Linux/ELF makefile symbol versioning, - (gcc, creates libpng15.so.15.1.5.7) + (gcc, creates libpng15.so.15.1.5.8beta01) makefile.freebsd => FreeBSD makefile makefile.gcc => Generic gcc makefile makefile.hpgcc => HPUX makefile using gcc @@ -35,12 +35,12 @@ pnglibconf.h.prebuilt => Stores configuration settings makefile.os2 => OS/2 Makefile (gcc and emx, requires libpng.def) makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc makefile.sggcc => Silicon Graphics (gcc, - creates libpng15.so.15.1.5.7) + creates libpng15.so.15.1.5.8beta01) makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) makefile.solaris => Solaris 2.X makefile (gcc, - creates libpng15.so.15.1.5.7) + creates libpng15.so.15.1.5.8beta01) makefile.so9 => Solaris 9 makefile (gcc, - creates libpng15.so.15.1.5.7) + creates libpng15.so.15.1.5.8beta01) makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.sunos => Sun makefile makefile.32sunu => Sun Ultra 32-bit makefile diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in index 49a93395f..c1065ab55 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -11,7 +11,7 @@ # Modeled after libxml-config. -version=1.5.7 +version=1.5.8beta01 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index 3ec77d6d5..3213064a6 100644 --- a/scripts/libpng.pc.in +++ b/scripts/libpng.pc.in @@ -5,6 +5,6 @@ includedir=@includedir@/libpng15 Name: libpng Description: Loads and saves PNG files -Version: 1.5.7 +Version: 1.5.8beta01 Libs: -L${libdir} -lpng15 Cflags: -I${includedir} diff --git a/scripts/makefile.cegcc b/scripts/makefile.cegcc index 624fbaa0f..de898f3e8 100644 --- a/scripts/makefile.cegcc +++ b/scripts/makefile.cegcc @@ -23,7 +23,7 @@ VERMAJ = 1 VERMIN = 5 -VERMIC = 7 +VERMIC = 8 VER = $(VERMAJ).$(VERMIN).$(VERMIC) NAME = libpng PACKAGE = $(NAME)-$(VER) diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 8e3991ad6..3601e4591 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -10,7 +10,7 @@ # Library name: LIBNAME = libpng15 PNGMAJ = 15 -RELEASE = 7 +RELEASE = 8 # Shared library names: LIBSO=$(LIBNAME).so diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index e534a01b0..ea758649c 100644 --- a/scripts/makefile.ne12bsd +++ b/scripts/makefile.ne12bsd @@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include/libpng15 LIB= png15 SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.5.7 +SHLIB_MINOR= 1.5.8beta01 SRCS= 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 262bdbd78..50bbb1af9 100644 --- a/scripts/makefile.netbsd +++ b/scripts/makefile.netbsd @@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include LIB= png SHLIB_MAJOR= 15 -SHLIB_MINOR= 1.5.7 +SHLIB_MINOR= 1.5.8beta01 SRCS= 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.openbsd b/scripts/makefile.openbsd index ad2b87426..9e3ba0cf3 100644 --- a/scripts/makefile.openbsd +++ b/scripts/makefile.openbsd @@ -11,7 +11,7 @@ LIBDIR= ${PREFIX}/lib MANDIR= ${PREFIX}/man/cat SHLIB_MAJOR= 15 -SHLIB_MINOR= 1.5.7 +SHLIB_MINOR= 1.5.8beta01 LIB= png SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \ diff --git a/scripts/pnglibconf.h.prebuilt b/scripts/pnglibconf.h.prebuilt index 0a799915f..d7ab441bd 100644 --- a/scripts/pnglibconf.h.prebuilt +++ b/scripts/pnglibconf.h.prebuilt @@ -3,7 +3,7 @@ /* pnglibconf.h - library build configuration */ -/* Libpng 1.5.7 - December 15, 2011 */ +/* Libpng 1.5.8beta01 - January 15, 2012 */ /* Copyright (c) 1998-2011 Glenn Randers-Pehrson */ diff --git a/scripts/symbols.def b/scripts/symbols.def index a2f15e406..3c439e581 100644 --- a/scripts/symbols.def +++ b/scripts/symbols.def @@ -5,7 +5,7 @@ LIBRARY EXPORTS -;Version 1.5.7 +;Version 1.5.8beta01 png_access_version_number @1 png_set_sig_bytes @2 png_sig_cmp @3 |