diff --git a/ANNOUNCE b/ANNOUNCE index f3db1bd9..3b60322d 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.2.26beta02 - March 13, 2008 +Libpng 1.2.26beta03 - March 16, 2008 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,47 +9,51 @@ Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script - libpng-1.2.26beta02.tar.gz - libpng-1.2.26beta02.tar.lzma + libpng-1.2.26beta03.tar.gz + libpng-1.2.26beta03.tar.lzma (Get the lzma codec from ). - libpng-1.2.26beta02.tar.bz2 + libpng-1.2.26beta03.tar.bz2 Source files with LF line endings (for Unix/Linux) without the "configure" script - libpng-1.2.26beta02-no-config.tar.gz - libpng-1.2.26beta02-no-config.tar.lzma - libpng-1.2.26beta02-no-config.tar.bz2 + libpng-1.2.26beta03-no-config.tar.gz + libpng-1.2.26beta03-no-config.tar.lzma + libpng-1.2.26beta03-no-config.tar.bz2 Source files with CRLF line endings (for Windows), without the "configure" script - lp1226b02.zip - lp1226b02.7z - lp1226b02.tar.bz2 + lp1226b03.zip + lp1226b03.7z + lp1226b03.tar.bz2 Project files - libpng-1.2.26beta02-project-netware.zip - libpng-1.2.26beta02-project-wince.zip + libpng-1.2.26beta03-project-netware.zip + libpng-1.2.26beta03-project-wince.zip Other information: - libpng-1.2.26beta02-README.txt - libpng-1.2.26beta02-KNOWNBUGS.txt - libpng-1.2.26beta02-LICENSE.txt - libpng-1.2.26beta02-Y2K-compliance.txt - libpng-1.2.26beta02-[previous version]-diff.txt + libpng-1.2.26beta03-README.txt + libpng-1.2.26beta03-KNOWNBUGS.txt + libpng-1.2.26beta03-LICENSE.txt + libpng-1.2.26beta03-Y2K-compliance.txt + libpng-1.2.26beta03-[previous version]-diff.txt Changes since the last public release (1.2.25): version 1.2.26beta01 [February 21, 2008] Added missing "(" in pngmem.c. Bug introduced in libpng-1.2.2/1.0.13 -version 1.2.26beta02 [March 13, 2008] +version 1.2.26beta02 [March 12, 2008] Refined error message returned from deflateInit2 in pngwutil.c Check IHDR length in png_push_read_chunk() before saving it. +version 1.2.26beta03 [March 16, 2008] + Revised contrib/gregbook to handle premature end-of-file and file + read errors correctly. + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index 486d903b..d45218f1 100644 --- a/CHANGES +++ b/CHANGES @@ -2079,10 +2079,14 @@ version 1.2.25 and 1.0.31 [February 18, 2008] version 1.2.26beta01 [February 21, 2008] Added missing "(" in pngmem.c. Bug introduced in libpng-1.2.2/1.0.13 -version 1.2.26beta02 [March 13, 2008] +version 1.2.26beta02 [March 12, 2008] Refined error message returned from deflateInit2 in pngwutil.c Check IHDR length in png_push_read_chunk() before saving it. +version 1.2.26beta03 [March 16, 2008] + Revised contrib/gregbook to handle premature end-of-file and file + read errors correctly. + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/INSTALL b/INSTALL index 94236e91..b31ea0c1 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Installing libpng version 1.2.26beta02 - March 13, 2008 +Installing libpng version 1.2.26beta03 - March 16, 2008 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.2.26beta02" or "lpng109" and "zlib-1.2.1" +might be called "libpng-1.2.26beta03" 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: @@ -101,9 +101,9 @@ include CMakeLists.txt => "cmake" script makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.elf => Linux/ELF makefile symbol versioning, - gcc, creates libpng12.so.0.1.2.26beta02) + gcc, creates libpng12.so.0.1.2.26beta03) makefile.linux => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.26beta02) + (gcc, creates libpng12.so.0.1.2.26beta03) makefile.gcc => Generic makefile (gcc, creates static libpng.a) makefile.knr => Archaic UNIX Makefile that converts files with ansi2knr (Requires ansi2knr.c from @@ -125,14 +125,14 @@ include makefile.openbsd => OpenBSD makefile makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) makefile.sggcc => Silicon Graphics (gcc, - creates libpng12.so.0.1.2.26beta02) + creates libpng12.so.0.1.2.26beta03) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile (gcc, - creates libpng12.so.0.1.2.26beta02) + creates libpng12.so.0.1.2.26beta03) makefile.solaris-x86 => Solaris/intelMMX 2.X makefile (gcc, - creates libpng12.so.0.1.2.26beta02) + creates libpng12.so.0.1.2.26beta03) makefile.so9 => Solaris 9 makefile (gcc, - creates libpng12.so.0.1.2.26beta02) + creates libpng12.so.0.1.2.26beta03) 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 diff --git a/KNOWNBUG b/KNOWNBUG index 4606d80e..a12890d4 100644 --- a/KNOWNBUG +++ b/KNOWNBUG @@ -1,5 +1,5 @@ -Known bugs in libpng version 1.2.26beta02 +Known bugs in libpng version 1.2.26beta03 1. February 23, 2006: The custom makefiles don't build libpng with -lz. diff --git a/LICENSE b/LICENSE index 3b47e1e6..f4fa5052 100644 --- a/LICENSE +++ b/LICENSE @@ -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.2.26beta02, March 13, 2008, are +libpng versions 1.2.6, August 15, 2004, through 1.2.26beta03, March 16, 2008, are Copyright (c) 2004, 2006-2008 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 -March 13, 2008 +March 16, 2008 diff --git a/README b/README index 25805c83..53fe770a 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng version 1.2.26beta02 - March 13, 2008 (shared library 12.0) +README for libpng version 1.2.26beta03 - March 16, 2008 (shared library 12.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. @@ -191,11 +191,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 libpng12.so.0.1.2.26beta02) + gcc, creates libpng12.so.0.1.2.26beta03) makefile.linux => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.26beta02) + (gcc, creates libpng12.so.0.1.2.26beta03) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.26beta02, + (gcc, creates libpng12.so.0.1.2.26beta03, 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 @@ -217,12 +217,12 @@ Files in this distribution: makefile.openbsd => OpenBSD makefile makefile.sgi => Silicon Graphics IRIX (cc, creates static lib) makefile.sggcc => Silicon Graphics - (gcc, creates libpng12.so.0.1.2.26beta02) + (gcc, creates libpng12.so.0.1.2.26beta03) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng12.so.0.1.2.26beta02) + (gcc, creates libpng12.so.0.1.2.26beta03) makefile.so9 => Solaris 9 makefile - (gcc, creates libpng12.so.0.1.2.26beta02) + (gcc, creates libpng12.so.0.1.2.26beta03) 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 diff --git a/Y2KINFO b/Y2KINFO index a4442fbb..5e826b3c 100644 --- a/Y2KINFO +++ b/Y2KINFO @@ -1,13 +1,13 @@ Y2K compliance in libpng: ========================= - March 13, 2008 + March 16, 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.2.26beta02 are Y2K compliant. It is my belief that earlier + upward through 1.2.26beta03 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 fc142ad7..3dbda8c5 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for libpng 1.2.26beta02. +# Generated by GNU Autoconf 2.61 for libpng 1.2.26beta03. # # Report bugs to . # @@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='libpng' PACKAGE_TARNAME='libpng' -PACKAGE_VERSION='1.2.26beta02' -PACKAGE_STRING='libpng 1.2.26beta02' +PACKAGE_VERSION='1.2.26beta03' +PACKAGE_STRING='libpng 1.2.26beta03' PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net' ac_unique_file="pngget.c" @@ -1406,7 +1406,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.2.26beta02 to adapt to many kinds of systems. +\`configure' configures libpng 1.2.26beta03 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1476,7 +1476,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libpng 1.2.26beta02:";; + short | recursive ) echo "Configuration of libpng 1.2.26beta03:";; esac cat <<\_ACEOF @@ -1586,7 +1586,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libpng configure 1.2.26beta02 +libpng configure 1.2.26beta03 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1600,7 +1600,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.2.26beta02, which was +It was created by libpng $as_me 1.2.26beta03, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2270,7 +2270,7 @@ fi # Define the identity of the package. PACKAGE='libpng' - VERSION='1.2.26beta02' + VERSION='1.2.26beta03' cat >>confdefs.h <<_ACEOF @@ -2441,7 +2441,7 @@ fi -PNGLIB_VERSION=1.2.26beta02 +PNGLIB_VERSION=1.2.26beta03 PNGLIB_MAJOR=1 PNGLIB_MINOR=2 PNGLIB_RELEASE=26 @@ -21295,7 +21295,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.2.26beta02, which was +This file was extended by libpng $as_me 1.2.26beta03, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21348,7 +21348,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -libpng config.status 1.2.26beta02 +libpng config.status 1.2.26beta03 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 91854406..0ccaa575 100644 --- a/configure.ac +++ b/configure.ac @@ -18,12 +18,12 @@ AC_PREREQ(2.59) dnl Version number stuff here: -AC_INIT([libpng], [1.2.26beta02], [png-mng-implement@lists.sourceforge.net]) +AC_INIT([libpng], [1.2.26beta03], [png-mng-implement@lists.sourceforge.net]) AM_INIT_AUTOMAKE dnl stop configure from automagically running automake AM_MAINTAINER_MODE -PNGLIB_VERSION=1.2.26beta02 +PNGLIB_VERSION=1.2.26beta03 PNGLIB_MAJOR=1 PNGLIB_MINOR=2 PNGLIB_RELEASE=26 diff --git a/contrib/gregbook/LICENSE b/contrib/gregbook/LICENSE index a39264e8..d9567178 100644 --- a/contrib/gregbook/LICENSE +++ b/contrib/gregbook/LICENSE @@ -1,6 +1,6 @@ --------------------------------------------------------------------------- - Copyright (c) 1998-2007 Greg Roelofs. All rights reserved. + Copyright (c) 1998-2008 Greg Roelofs. All rights reserved. This software is provided "as is," without warranty of any kind, express or implied. In no event shall the author or contributors diff --git a/contrib/gregbook/README b/contrib/gregbook/README index 5b08bc6f..cb6e5257 100644 --- a/contrib/gregbook/README +++ b/contrib/gregbook/README @@ -56,7 +56,7 @@ mation and links to the latest version of the source code, and Chapters Greg Roelofs http://pobox.com/~newt/greg_contact.html -2 June 2007 +16 March 2008 BUILD INSTRUCTIONS diff --git a/contrib/gregbook/readpng2.h b/contrib/gregbook/readpng2.h index 386e5ee6..fbfffb4b 100644 --- a/contrib/gregbook/readpng2.h +++ b/contrib/gregbook/readpng2.h @@ -4,7 +4,7 @@ --------------------------------------------------------------------------- - Copyright (c) 1998-2007 Greg Roelofs. All rights reserved. + Copyright (c) 1998-2008 Greg Roelofs. All rights reserved. This software is provided "as is," without warranty of any kind, express or implied. In no event shall the author or contributors @@ -69,6 +69,12 @@ # define Trace(x) ; #endif +enum rpng2_states { + kPreInit = 0, + kWindowInit, + kDone +}; + typedef unsigned char uch; typedef unsigned short ush; typedef unsigned long ulg; @@ -95,7 +101,7 @@ typedef struct _mainprog_info { int nommxcombine; int nommxinterlace; #endif - int done; + int state; uch bg_red; uch bg_green; uch bg_blue; diff --git a/contrib/gregbook/rpng-win.c b/contrib/gregbook/rpng-win.c index b37c00aa..20209611 100644 --- a/contrib/gregbook/rpng-win.c +++ b/contrib/gregbook/rpng-win.c @@ -23,10 +23,11 @@ command-line parsing bug - 1.10: enabled "message window"/console (thanks to David Geldreich) - 2.00: dual-licensed (added GNU GPL) + - 2.01: fixed improper display of usage screen on PNG error(s) --------------------------------------------------------------------------- - Copyright (c) 1998-2007 Greg Roelofs. All rights reserved. + Copyright (c) 1998-2008 Greg Roelofs. All rights reserved. This software is provided "as is," without warranty of any kind, express or implied. In no event shall the author or contributors @@ -77,7 +78,7 @@ #define PROGNAME "rpng-win" #define LONGNAME "Simple PNG Viewer for Windows" -#define VERSION "2.00 of 2 June 2007" +#define VERSION "2.01 of 16 March 2008" #include #include @@ -271,40 +272,11 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, PSTR cmd, int showmode) } } - if (!filename) { + if (!filename) ++error; - } else if (!(infile = fopen(filename, "rb"))) { - fprintf(stderr, PROGNAME ": can't open PNG file [%s]\n", filename); - ++error; - } else { - if ((rc = readpng_init(infile, &image_width, &image_height)) != 0) { - switch (rc) { - case 1: - fprintf(stderr, PROGNAME - ": [%s] is not a PNG file: incorrect signature\n", - filename); - break; - case 2: - fprintf(stderr, PROGNAME - ": [%s] has bad IHDR (libpng longjmp)\n", - filename); - break; - case 4: - fprintf(stderr, PROGNAME ": insufficient memory\n"); - break; - default: - fprintf(stderr, PROGNAME - ": unknown readpng_init() error\n"); - break; - } - ++error; - } - if (error) - fclose(infile); - } - /* usage screen */ + /* print usage screen if any errors up to this point */ if (error) { int ch; @@ -327,6 +299,47 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, PSTR cmd, int showmode) ch = _getch(); while (ch != 'q' && ch != 'Q' && ch != 0x1B); exit(1); + } + + + if (!(infile = fopen(filename, "rb"))) { + fprintf(stderr, PROGNAME ": can't open PNG file [%s]\n", filename); + ++error; + } else { + if ((rc = readpng_init(infile, &image_width, &image_height)) != 0) { + switch (rc) { + case 1: + fprintf(stderr, PROGNAME + ": [%s] is not a PNG file: incorrect signature\n", + filename); + break; + case 2: + fprintf(stderr, PROGNAME + ": [%s] has bad IHDR (libpng longjmp)\n", filename); + break; + case 4: + fprintf(stderr, PROGNAME ": insufficient memory\n"); + break; + default: + fprintf(stderr, PROGNAME + ": unknown readpng_init() error\n"); + break; + } + ++error; + } + if (error) + fclose(infile); + } + + + if (error) { + int ch; + + fprintf(stderr, PROGNAME ": aborting.\n"); + do + ch = _getch(); + while (ch != 'q' && ch != 'Q' && ch != 0x1B); + exit(2); } else { fprintf(stderr, "\n%s %s: %s\n", PROGNAME, VERSION, appname); fprintf(stderr, diff --git a/contrib/gregbook/rpng-x.c b/contrib/gregbook/rpng-x.c index 94772602..0a981702 100644 --- a/contrib/gregbook/rpng-x.c +++ b/contrib/gregbook/rpng-x.c @@ -25,10 +25,11 @@ - 1.13: fixed XFreeGC() crash bug (thanks to Patrick Welche) - 1.14: added support for X resources (thanks to Gerhard Niklasch) - 2.00: dual-licensed (added GNU GPL) + - 2.01: fixed improper display of usage screen on PNG error(s) --------------------------------------------------------------------------- - Copyright (c) 1998-2007 Greg Roelofs. All rights reserved. + Copyright (c) 1998-2008 Greg Roelofs. All rights reserved. This software is provided "as is," without warranty of any kind, express or implied. In no event shall the author or contributors @@ -79,7 +80,7 @@ #define PROGNAME "rpng-x" #define LONGNAME "Simple PNG Viewer for X" -#define VERSION "2.00 of 2 June 2007" +#define VERSION "2.01 of 16 March 2008" #define RESNAME "rpng" /* our X resource application name */ #define RESCLASS "Rpng" /* our X resource class name */ @@ -265,9 +266,33 @@ int main(int argc, char **argv) } } - if (!filename) { + if (!filename) ++error; - } else if (!(infile = fopen(filename, "rb"))) { + + + /* print usage screen if any errors up to this point */ + + if (error) { + fprintf(stderr, "\n%s %s: %s\n", PROGNAME, VERSION, appname); + readpng_version_info(); + fprintf(stderr, "\n" + "Usage: %s [-display xdpy] [-gamma exp] [-bgcolor bg] file.png\n" + " xdpy\tname of the target X display (e.g., ``hostname:0'')\n" + " exp \ttransfer-function exponent (``gamma'') of the display\n" + "\t\t system in floating-point format (e.g., ``%.1f''); equal\n" + "\t\t to the product of the lookup-table exponent (varies)\n" + "\t\t and the CRT exponent (usually 2.2); must be positive\n" + " bg \tdesired background color in 7-character hex RGB format\n" + "\t\t (e.g., ``#ff7700'' for orange: same as HTML colors);\n" + "\t\t used with transparent images\n" + "\nPress Q, Esc or mouse button 1 (within image window, after image\n" + "is displayed) to quit.\n" + "\n", PROGNAME, default_display_exponent); + exit(1); + } + + + if (!(infile = fopen(filename, "rb"))) { fprintf(stderr, PROGNAME ": can't open PNG file [%s]\n", filename); ++error; } else { @@ -280,8 +305,7 @@ int main(int argc, char **argv) break; case 2: fprintf(stderr, PROGNAME - ": [%s] has bad IHDR (libpng longjmp)\n", - filename); + ": [%s] has bad IHDR (libpng longjmp)\n", filename); break; case 4: fprintf(stderr, PROGNAME ": insufficient memory\n"); @@ -306,25 +330,9 @@ int main(int argc, char **argv) } - /* usage screen */ - if (error) { - fprintf(stderr, "\n%s %s: %s\n", PROGNAME, VERSION, appname); - readpng_version_info(); - fprintf(stderr, "\n" - "Usage: %s [-display xdpy] [-gamma exp] [-bgcolor bg] file.png\n" - " xdpy\tname of the target X display (e.g., ``hostname:0'')\n" - " exp \ttransfer-function exponent (``gamma'') of the display\n" - "\t\t system in floating-point format (e.g., ``%.1f''); equal\n" - "\t\t to the product of the lookup-table exponent (varies)\n" - "\t\t and the CRT exponent (usually 2.2); must be positive\n" - " bg \tdesired background color in 7-character hex RGB format\n" - "\t\t (e.g., ``#ff7700'' for orange: same as HTML colors);\n" - "\t\t used with transparent images\n" - "\nPress Q, Esc or mouse button 1 (within image window, after image\n" - "is displayed) to quit.\n" - "\n", PROGNAME, default_display_exponent); - exit(1); + fprintf(stderr, PROGNAME ": aborting.\n"); + exit(2); } diff --git a/contrib/gregbook/rpng2-win.c b/contrib/gregbook/rpng2-win.c index dfbd6b16..9f7ad78d 100644 --- a/contrib/gregbook/rpng2-win.c +++ b/contrib/gregbook/rpng2-win.c @@ -10,7 +10,7 @@ tweaking (or maybe not). Thanks to Adam Costello and Pieter S. van der Meulen for the "diamond" and "radial waves" patterns, respectively. - to do: + to do (someday, maybe): - handle quoted command-line args (especially filenames with spaces) - finish resizable checkerboard-gradient (sizes 4-128?) - use %.1023s to simplify truncation of title-bar string? @@ -29,10 +29,13 @@ - 1.21: made minor tweak to usage screen to fit within 25-line console - 1.22: added AMD64/EM64T support (__x86_64__) - 2.00: dual-licensed (added GNU GPL) + - 2.01: fixed 64-bit typo in readpng2.c + - 2.02: fixed improper display of usage screen on PNG error(s); fixed + unexpected-EOF and file-read-error cases --------------------------------------------------------------------------- - Copyright (c) 1998-2007 Greg Roelofs. All rights reserved. + Copyright (c) 1998-2008 Greg Roelofs. All rights reserved. This software is provided "as is," without warranty of any kind, express or implied. In no event shall the author or contributors @@ -83,7 +86,7 @@ #define PROGNAME "rpng2-win" #define LONGNAME "Progressive PNG Viewer for Windows" -#define VERSION "2.00 of 2 June 2007" +#define VERSION "2.02 of 16 March 2008" #include #include @@ -414,41 +417,11 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, PSTR cmd, int showmode) } } - if (!filename) { + if (!filename) ++error; - } else if (!(infile = fopen(filename, "rb"))) { - fprintf(stderr, PROGNAME ": can't open PNG file [%s]\n", filename); - ++error; - } else { - incount = fread(inbuf, 1, INBUFSIZE, infile); - if (incount < 8 || !readpng2_check_sig(inbuf, 8)) { - fprintf(stderr, PROGNAME - ": [%s] is not a PNG file: incorrect signature\n", - filename); - ++error; - } else if ((rc = readpng2_init(&rpng2_info)) != 0) { - switch (rc) { - case 2: - fprintf(stderr, PROGNAME - ": [%s] has bad IHDR (libpng longjmp)\n", - filename); - break; - case 4: - fprintf(stderr, PROGNAME ": insufficient memory\n"); - break; - default: - fprintf(stderr, PROGNAME - ": unknown readpng2_init() error\n"); - break; - } - ++error; - } - if (error) - fclose(infile); - } - /* usage screen */ + /* print usage screen if any errors up to this point */ if (error) { int ch; @@ -488,6 +461,48 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, PSTR cmd, int showmode) ch = _getch(); while (ch != 'q' && ch != 'Q' && ch != 0x1B); exit(1); + } + + + if (!(infile = fopen(filename, "rb"))) { + fprintf(stderr, PROGNAME ": can't open PNG file [%s]\n", filename); + ++error; + } else { + incount = fread(inbuf, 1, INBUFSIZE, infile); + if (incount < 8 || !readpng2_check_sig(inbuf, 8)) { + fprintf(stderr, PROGNAME + ": [%s] is not a PNG file: incorrect signature\n", + filename); + ++error; + } else if ((rc = readpng2_init(&rpng2_info)) != 0) { + switch (rc) { + case 2: + fprintf(stderr, PROGNAME + ": [%s] has bad IHDR (libpng longjmp)\n", filename); + break; + case 4: + fprintf(stderr, PROGNAME ": insufficient memory\n"); + break; + default: + fprintf(stderr, PROGNAME + ": unknown readpng2_init() error\n"); + break; + } + ++error; + } + if (error) + fclose(infile); + } + + + if (error) { + int ch; + + fprintf(stderr, PROGNAME ": aborting.\n"); + do + ch = _getch(); + while (ch != 'q' && ch != 'Q' && ch != 0x1B); + exit(2); } else { fprintf(stderr, "\n%s %s: %s\n", PROGNAME, VERSION, appname); fprintf(stderr, @@ -519,7 +534,7 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, PSTR cmd, int showmode) } else rpng2_info.need_bgcolor = TRUE; - rpng2_info.done = FALSE; + rpng2_info.state = kPreInit; rpng2_info.mainprog_init = rpng2_win_init; rpng2_info.mainprog_display_row = rpng2_win_display_row; rpng2_info.mainprog_finish_display = rpng2_win_finish_display; @@ -539,10 +554,27 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, PSTR cmd, int showmode) if (readpng2_decode_data(&rpng2_info, inbuf, incount)) ++error; Trace((stderr, "done with readpng2_decode_data()\n")) - if (error || feof(infile) || rpng2_info.done) + + if (error || incount != INBUFSIZE || rpng2_info.state == kDone) { + if (rpng2_info.state == kDone) { + Trace((stderr, "done decoding PNG image\n")) + } else if (ferror(infile)) { + fprintf(stderr, PROGNAME + ": error while reading PNG image file\n"); + exit(3); + } else if (feof(infile)) { + fprintf(stderr, PROGNAME ": end of file reached " + "(unexpectedly) while reading PNG image file\n"); + exit(3); + } else /* if (error) */ { + // will print error message below + } break; + } + if (timing) Sleep(1000L); + incount = fread(inbuf, 1, INBUFSIZE, infile); } @@ -589,7 +621,7 @@ static void rpng2_win_init() ulg rowbytes = rpng2_info.rowbytes; Trace((stderr, "beginning rpng2_win_init()\n")) - Trace((stderr, " rowbytes = %ld\n", rpng2_info.rowbytes)) + Trace((stderr, " rowbytes = %d\n", rpng2_info.rowbytes)) Trace((stderr, " width = %ld\n", rpng2_info.width)) Trace((stderr, " height = %ld\n", rpng2_info.height)) @@ -619,6 +651,8 @@ static void rpng2_win_init() readpng2_cleanup(&rpng2_info); return; } + + rpng2_info.state = kWindowInit; } @@ -1114,7 +1148,7 @@ static void rpng2_win_finish_display() * we have nothing to do here except set a flag and let the user know * that the image is done */ - rpng2_info.done = TRUE; + rpng2_info.state = kDone; printf( "Done. Press Q, Esc or mouse button 1 (within image window) to quit.\n"); fflush(stdout); diff --git a/contrib/gregbook/rpng2-x.c b/contrib/gregbook/rpng2-x.c index 6bba6490..873af233 100644 --- a/contrib/gregbook/rpng2-x.c +++ b/contrib/gregbook/rpng2-x.c @@ -12,7 +12,7 @@ Thanks to Adam Costello and Pieter S. van der Meulen for the "diamond" and "radial waves" patterns, respectively. - to do: + to do (someday, maybe): - fix expose/redraw code: don't draw entire row if only part exposed - 8-bit (colormapped) X support - finish resizable checkerboard-gradient (sizes 4-128?) @@ -36,10 +36,14 @@ - 1.32: added AMD64/EM64T support (__x86_64__); added basic expose/redraw handling - 2.00: dual-licensed (added GNU GPL) + - 2.01: fixed 64-bit typo in readpng2.c; fixed -pause usage description + - 2.02: fixed improper display of usage screen on PNG error(s); fixed + unexpected-EOF and file-read-error cases; fixed Trace() cut-and- + paste bugs --------------------------------------------------------------------------- - Copyright (c) 1998-2007 Greg Roelofs. All rights reserved. + Copyright (c) 1998-2008 Greg Roelofs. All rights reserved. This software is provided "as is," without warranty of any kind, express or implied. In no event shall the author or contributors @@ -90,7 +94,7 @@ #define PROGNAME "rpng2-x" #define LONGNAME "Progressive PNG Viewer for X" -#define VERSION "2.00 of 2 June 2007" +#define VERSION "2.02 of 16 March 2008" #define RESNAME "rpng2" /* our X resource application name */ #define RESCLASS "Rpng" /* our X resource class name */ @@ -453,49 +457,11 @@ int main(int argc, char **argv) } } - if (!filename) { + if (!filename) ++error; - } else if (!(infile = fopen(filename, "rb"))) { - fprintf(stderr, PROGNAME ": can't open PNG file [%s]\n", filename); - ++error; - } else { - incount = fread(inbuf, 1, INBUFSIZE, infile); - if (incount < 8 || !readpng2_check_sig(inbuf, 8)) { - fprintf(stderr, PROGNAME - ": [%s] is not a PNG file: incorrect signature\n", - filename); - ++error; - } else if ((rc = readpng2_init(&rpng2_info)) != 0) { - switch (rc) { - case 2: - fprintf(stderr, PROGNAME - ": [%s] has bad IHDR (libpng longjmp)\n", - filename); - break; - case 4: - fprintf(stderr, PROGNAME ": insufficient memory\n"); - break; - default: - fprintf(stderr, PROGNAME - ": unknown readpng2_init() error\n"); - break; - } - ++error; - } else { - display = XOpenDisplay(displayname); - if (!display) { - readpng2_cleanup(&rpng2_info); - fprintf(stderr, PROGNAME ": can't open X display [%s]\n", - displayname? displayname : "default"); - ++error; - } - } - if (error) - fclose(infile); - } - /* usage screen */ + /* print usage screen if any errors up to this point */ if (error) { fprintf(stderr, "\n%s %s: %s\n\n", PROGNAME, VERSION, appname); @@ -533,7 +499,7 @@ int main(int argc, char **argv) "\t\t row (for demo purposes)\n" " -timing\tenables delay for every block read, to simulate modem\n" "\t\t download of image (~36 Kbps)\n" - " -pause\tpauses after displaying each pass until key pressed\n" + " -pause\tpauses after displaying each pass until mouse clicked\n" "\nPress Q, Esc or mouse button 1 (within image window, after image\n" "is displayed) to quit.\n" "\n", PROGNAME, @@ -545,6 +511,52 @@ int main(int argc, char **argv) } + if (!(infile = fopen(filename, "rb"))) { + fprintf(stderr, PROGNAME ": can't open PNG file [%s]\n", filename); + ++error; + } else { + incount = fread(inbuf, 1, INBUFSIZE, infile); + if (incount < 8 || !readpng2_check_sig(inbuf, 8)) { + fprintf(stderr, PROGNAME + ": [%s] is not a PNG file: incorrect signature\n", + filename); + ++error; + } else if ((rc = readpng2_init(&rpng2_info)) != 0) { + switch (rc) { + case 2: + fprintf(stderr, PROGNAME + ": [%s] has bad IHDR (libpng longjmp)\n", filename); + break; + case 4: + fprintf(stderr, PROGNAME ": insufficient memory\n"); + break; + default: + fprintf(stderr, PROGNAME + ": unknown readpng2_init() error\n"); + break; + } + ++error; + } else { + Trace((stderr, "about to call XOpenDisplay()\n")) + display = XOpenDisplay(displayname); + if (!display) { + readpng2_cleanup(&rpng2_info); + fprintf(stderr, PROGNAME ": can't open X display [%s]\n", + displayname? displayname : "default"); + ++error; + } + } + if (error) + fclose(infile); + } + + + if (error) { + fprintf(stderr, PROGNAME ": aborting.\n"); + exit(2); + } + + /* set the title-bar string, but make sure buffer doesn't overflow */ alen = strlen(appname); @@ -567,7 +579,7 @@ int main(int argc, char **argv) } else rpng2_info.need_bgcolor = TRUE; - rpng2_info.done = FALSE; + rpng2_info.state = kPreInit; rpng2_info.mainprog_init = rpng2_x_init; rpng2_info.mainprog_display_row = rpng2_x_display_row; rpng2_info.mainprog_finish_display = rpng2_x_finish_display; @@ -587,10 +599,27 @@ int main(int argc, char **argv) if (readpng2_decode_data(&rpng2_info, inbuf, incount)) ++error; Trace((stderr, "done with readpng2_decode_data()\n")) - if (error || feof(infile) || rpng2_info.done) + + if (error || incount != INBUFSIZE || rpng2_info.state == kDone) { + if (rpng2_info.state == kDone) { + Trace((stderr, "done decoding PNG image\n")) + } else if (ferror(infile)) { + fprintf(stderr, PROGNAME + ": error while reading PNG image file\n"); + exit(3); + } else if (feof(infile)) { + fprintf(stderr, PROGNAME ": end of file reached " + "(unexpectedly) while reading PNG image file\n"); + exit(3); + } else /* if (error) */ { + // will print error message below + } break; + } + if (timing) sleep(1); + incount = fread(inbuf, 1, INBUFSIZE, infile); } @@ -610,6 +639,7 @@ int main(int argc, char **argv) #ifdef FEATURE_LOOP if (loop && bg_image) { + Trace((stderr, "entering -loop loop (FEATURE_LOOP)\n")) for (;;) { int i, use_sleep; struct timeval now, then; @@ -705,13 +735,20 @@ int main(int argc, char **argv) /* wait for the user to tell us when to quit */ - do { - XNextEvent(display, &e); - if (e.type == Expose) { - XExposeEvent *ex = (XExposeEvent *)&e; - rpng2_x_redisplay_image (ex->x, ex->y, ex->width, ex->height); - } - } while (!QUIT(e,k)); + if (rpng2_info.state >= kWindowInit) { + Trace((stderr, "entering final wait-for-quit-event loop\n")) + do { + XNextEvent(display, &e); + if (e.type == Expose) { + XExposeEvent *ex = (XExposeEvent *)&e; + rpng2_x_redisplay_image (ex->x, ex->y, ex->width, ex->height); + } + } while (!QUIT(e,k)); + } else { + fprintf(stderr, PROGNAME ": init callback never called: probable " + "libpng error while decoding PNG metadata\n"); + exit(4); + } /* we're done: clean up all image and X resources and go away */ @@ -736,7 +773,7 @@ static void rpng2_x_init(void) ulg rowbytes = rpng2_info.rowbytes; Trace((stderr, "beginning rpng2_x_init()\n")) - Trace((stderr, " rowbytes = %ld\n", rpng2_info.rowbytes)) + Trace((stderr, " rowbytes = %d\n", rpng2_info.rowbytes)) Trace((stderr, " width = %ld\n", rpng2_info.width)) Trace((stderr, " height = %ld\n", rpng2_info.height)) @@ -773,6 +810,8 @@ static void rpng2_x_init(void) rpng2_x_cleanup(); exit(2); } + + rpng2_info.state = kWindowInit; } @@ -1556,7 +1595,7 @@ static void rpng2_x_finish_display(void) * have nothing to do here except set a flag and let the user know that * the image is done */ - rpng2_info.done = TRUE; + rpng2_info.state = kDone; printf( "Done. Press Q, Esc or mouse button 1 (within image window) to quit.\n"); fflush(stdout); @@ -1581,9 +1620,9 @@ static void rpng2_x_redisplay_image(ulg startcol, ulg startrow, Trace((stderr, "beginning display loop (image_channels == %d)\n", - image_channels)) - Trace((stderr, " (width = %ld, rowbytes = %ld, ximage_rowbytes = %d)\n", - rpng2_info.width, image_rowbytes, ximage_rowbytes)) + rpng2_info.channels)) + Trace((stderr, " (width = %ld, rowbytes = %d, ximage_rowbytes = %d)\n", + rpng2_info.width, rpng2_info.rowbytes, ximage_rowbytes)) Trace((stderr, " (bpp = %d)\n", ximage->bits_per_pixel)) Trace((stderr, " (byte_order = %s)\n", ximage->byte_order == MSBFirst? "MSBFirst" : (ximage->byte_order == LSBFirst? "LSBFirst" : "unknown"))) diff --git a/libpng-1.2.26beta02.txt b/libpng-1.2.26beta03.txt similarity index 99% rename from libpng-1.2.26beta02.txt rename to libpng-1.2.26beta03.txt index cc68b23f..192a581e 100644 --- a/libpng-1.2.26beta02.txt +++ b/libpng-1.2.26beta03.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.2.26beta02 - March 13, 2008 + libpng version 1.2.26beta03 - March 16, 2008 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2008 Glenn Randers-Pehrson @@ -2796,13 +2796,13 @@ application: IX. Y2K Compliance in libpng -March 13, 2008 +March 16, 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.2.26beta02 are Y2K compliant. It is my belief that earlier +upward through 1.2.26beta03 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/libpng.3 b/libpng.3 index afa1dad3..5d085d8e 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "March 13, 2008" +.TH LIBPNG 3 "March 16, 2008" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.26beta02 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.26beta03 .SH SYNOPSIS \fI\fB @@ -821,7 +821,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.2.26beta02 - March 13, 2008 + libpng version 1.2.26beta03 - March 16, 2008 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2008 Glenn Randers-Pehrson @@ -3617,13 +3617,13 @@ application: .SH IX. Y2K Compliance in libpng -March 13, 2008 +March 16, 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.2.26beta02 are Y2K compliant. It is my belief that earlier +upward through 1.2.26beta03 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 @@ -3841,7 +3841,7 @@ the first widely used release: 1.2.25rc01-02 13 10225 12.so.0.25[.0] 1.0.31 10 10031 10.so.0.31[.0] 1.2.25 13 10225 12.so.0.25[.0] - 1.2.26beta01-02 13 10226 12.so.0.26[.0] + 1.2.26beta01-03 13 10226 12.so.0.26[.0] Henceforth the source version will match the shared-library minor and patch numbers; the shared-library major version number will be @@ -3897,7 +3897,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.2.26beta02 - March 13, 2008: +Libpng version 1.2.26beta03 - March 16, 2008: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -3918,7 +3918,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.2.26beta02, March 13, 2008, are +libpng versions 1.2.6, August 15, 2004, through 1.2.26beta03, March 16, 2008, are Copyright (c) 2004,2006-2008 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 @@ -4017,7 +4017,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -March 13, 2008 +March 16, 2008 .\" end of man page diff --git a/libpngpf.3 b/libpngpf.3 index e73770f7..45733d6f 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "March 13, 2008" +.TH LIBPNGPF 3 "March 16, 2008" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.26beta02 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.26beta03 (private functions) .SH SYNOPSIS \fB#include \fP diff --git a/png.5 b/png.5 index 1af82cf5..ae9b3ece 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "March 13, 2008" +.TH PNG 5 "March 16, 2008" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index a34e27b9..b606acc8 100644 --- a/png.c +++ b/png.c @@ -13,7 +13,7 @@ #include "png.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_2_26beta02 Your_png_h_is_not_version_1_2_26beta02; +typedef version_1_2_26beta03 Your_png_h_is_not_version_1_2_26beta03; /* Version information for C files. This had better match the version * string defined in png.h. */ @@ -693,7 +693,7 @@ png_charp PNGAPI png_get_copyright(png_structp png_ptr) { png_ptr = png_ptr; /* silence compiler warning about unused png_ptr */ - return ((png_charp) "\n libpng version 1.2.26beta02 - March 13, 2008\n\ + return ((png_charp) "\n libpng version 1.2.26beta03 - March 16, 2008\n\ Copyright (c) 1998-2008 Glenn Randers-Pehrson\n\ Copyright (c) 1996-1997 Andreas Dilger\n\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n"); diff --git a/png.h b/png.h index e514ac90..8e7b4618 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.2.26beta02 - March 13, 2008 + * libpng version 1.2.26beta03 - March 16, 2008 * Copyright (c) 1998-2008 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.2.26beta02 - March 13, 2008: Glenn + * libpng versions 0.97, January 1998, through 1.2.26beta03 - March 16, 2008: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -179,7 +179,7 @@ * 1.2.25rc01-02 13 10225 12.so.0.25[.0] * 1.0.31 10 10031 10.so.0.31[.0] * 1.2.25 13 10225 12.so.0.25[.0] - * 1.2.26beta01-2 13 10226 12.so.0.26[.0] + * 1.2.26beta01-3 13 10226 12.so.0.26[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -209,7 +209,7 @@ * If you modify libpng you may insert additional notices immediately following * this sentence. * - * libpng versions 1.2.6, August 15, 2004, through 1.2.26beta02, March 13, 2008, are + * libpng versions 1.2.6, August 15, 2004, through 1.2.26beta03, March 16, 2008, are * Copyright (c) 2004, 2006-2008 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: @@ -321,13 +321,13 @@ * Y2K compliance in libpng: * ========================= * - * March 13, 2008 + * March 16, 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.2.26beta02 are Y2K compliant. It is my belief that earlier + * upward through 1.2.26beta03 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 @@ -383,9 +383,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.2.26beta02" +#define PNG_LIBPNG_VER_STRING "1.2.26beta03" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.2.26beta02 - March 13, 2008\n" + " libpng version 1.2.26beta03 - March 16, 2008\n" #define PNG_LIBPNG_VER_SONUM 0 #define PNG_LIBPNG_VER_DLLNUM 13 @@ -397,7 +397,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 02 +#define PNG_LIBPNG_VER_BUILD 03 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -1435,7 +1435,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_2_26beta02; +typedef png_structp version_1_2_26beta03; typedef png_struct FAR * FAR * png_structpp; diff --git a/pngconf.h b/pngconf.h index 48073009..9aa4a31b 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.2.26beta02 - March 13, 2008 + * libpng version 1.2.26beta03 - March 16, 2008 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngmem.c b/pngmem.c index 52055a86..0434a5ba 100644 --- a/pngmem.c +++ b/pngmem.c @@ -1,7 +1,7 @@ /* pngmem.c - stub functions for memory allocation * - * Last changed in libpng 1.2.26 [March 13, 2008] + * Last changed in libpng 1.2.26 [March 16, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngpread.c b/pngpread.c index ec8fb164..55563df5 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.2.25 [February 18, 2008] + * Last changed in libpng 1.2.26 [March 16, 2008] * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngtest.c b/pngtest.c index fb4cd739..ab4d7bb0 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1553,4 +1553,4 @@ main(int argc, char *argv[]) } /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_2_26beta02 your_png_h_is_not_version_1_2_26beta02; +typedef version_1_2_26beta03 your_png_h_is_not_version_1_2_26beta03; diff --git a/pngwutil.c b/pngwutil.c index 10009bcb..a860f613 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -1,7 +1,7 @@ /* pngwutil.c - utilities to write a PNG file * - * Last changed in libpng 1.2.26 [March 13, 2008 + * Last changed in libpng 1.2.26 [March 16, 2008 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2008 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index e719e58b..88e3b726 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -169,7 +169,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.2.26beta02 +# VERSION 0.${PNGLIB_RELEASE}.1.2.26beta03 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 790a7e38..b59520ff 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -8,7 +8,7 @@ # Modeled after libxml-config. -version=1.2.26beta02 +version=1.2.26beta03 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc-configure.in b/scripts/libpng.pc-configure.in index 2fdfb4f8..ba4725db 100644 --- a/scripts/libpng.pc-configure.in +++ b/scripts/libpng.pc-configure.in @@ -5,6 +5,6 @@ includedir=@includedir@/libpng12 Name: libpng Description: Loads and saves PNG files -Version: 1.2.26beta02 +Version: 1.2.26beta03 Libs: -L${libdir} -lpng12 Cflags: -I${includedir} @LIBPNG_NO_MMX@ diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index 1120c536..aac20a2a 100644 --- a/scripts/libpng.pc.in +++ b/scripts/libpng.pc.in @@ -5,6 +5,6 @@ includedir=@includedir@/libpng12 Name: libpng Description: Loads and saves PNG files -Version: 1.2.26beta02 +Version: 1.2.26beta03 Libs: -L${libdir} -lpng12 Cflags: -I${includedir} diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu index f54d0187..5eede44e 100644 --- a/scripts/makefile.32sunu +++ b/scripts/makefile.32sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu index cff9b642..614378c5 100644 --- a/scripts/makefile.64sunu +++ b/scripts/makefile.64sunu @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 3d984315..cb1a8de9 100644 --- a/scripts/makefile.aix +++ b/scripts/makefile.aix @@ -20,7 +20,7 @@ LN_SF = ln -f -s LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) prefix=/usr/local diff --git a/scripts/makefile.beos b/scripts/makefile.beos index 393ee89f..02a27fe0 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -8,7 +8,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index 1a4cddd9..ecbd467b 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -74,7 +74,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng12 PNGMAJ = 0 CYGDLL = 12 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=cygpng$(CYGDLL).dll diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin index fe05fd16..1a5aac18 100644 --- a/scripts/makefile.darwin +++ b/scripts/makefile.darwin @@ -19,7 +19,7 @@ ZLIBINC=../zlib # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.dec b/scripts/makefile.dec index 40e584b8..b998f6f8 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -5,7 +5,7 @@ # Library name: PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.elf b/scripts/makefile.elf index fa861687..5a111438 100644 --- a/scripts/makefile.elf +++ b/scripts/makefile.elf @@ -12,7 +12,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index d87325df..106887cb 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -14,7 +14,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64 index 9aa4551c..652020e2 100644 --- a/scripts/makefile.hp64 +++ b/scripts/makefile.hp64 @@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index 22c57d99..ed0c95be 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index 79ab49a9..531cefea 100644 --- a/scripts/makefile.hpux +++ b/scripts/makefile.hpux @@ -18,7 +18,7 @@ ZLIBINC=/opt/zlib/include # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 0f2784a1..2cc96497 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -6,7 +6,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw index 8c1e21cc..e8119bfe 100644 --- a/scripts/makefile.mingw +++ b/scripts/makefile.mingw @@ -74,7 +74,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng12 PNGMAJ = 0 MINGDLL = 12 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=libpng$(MINGDLL).dll diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index 13df29b2..32b5e013 100644 --- a/scripts/makefile.ne12bsd +++ b/scripts/makefile.ne12bsd @@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng12 LIB= png12 SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.2.26beta02 +SHLIB_MINOR= 1.2.26beta03 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 30c30cc1..d546f715 100644 --- a/scripts/makefile.netbsd +++ b/scripts/makefile.netbsd @@ -14,7 +14,7 @@ INCSDIR=${LOCALBASE}/include/libpng LIB= png SHLIB_MAJOR= 3 -SHLIB_MINOR= 1.2.26beta02 +SHLIB_MINOR= 1.2.26beta03 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.nommx b/scripts/makefile.nommx index 74e3827a..4a4e1361 100644 --- a/scripts/makefile.nommx +++ b/scripts/makefile.nommx @@ -7,7 +7,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd index 2e36aa32..7233511e 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.2.26beta02 +SHLIB_MINOR= 1.2.26beta03 LIB= png SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \ diff --git a/scripts/makefile.sco b/scripts/makefile.sco index 0678e98c..43eacaff 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -9,7 +9,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index e6e20357..a40d82a7 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index 5bc3528e..fdf7b59d 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -6,7 +6,7 @@ # Library name: LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.so9 b/scripts/makefile.so9 index af1e55f3..f09faff5 100644 --- a/scripts/makefile.so9 +++ b/scripts/makefile.so9 @@ -8,7 +8,7 @@ # Library name: PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index 61815962..4665e693 100644 --- a/scripts/makefile.solaris +++ b/scripts/makefile.solaris @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/makefile.solaris-x86 b/scripts/makefile.solaris-x86 index f749642a..fe267d96 100644 --- a/scripts/makefile.solaris-x86 +++ b/scripts/makefile.solaris-x86 @@ -8,7 +8,7 @@ # Library name: LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.26beta02 +PNGMIN = 1.2.26beta03 PNGVER = $(PNGMAJ).$(PNGMIN) # Shared library names: diff --git a/scripts/pngos2.def b/scripts/pngos2.def index 3e901c9e..5346a566 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.2.26beta02 +; Version 1.2.26beta03 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2" diff --git a/scripts/pngw32.def b/scripts/pngw32.def index cc2d5608..c3a91353 100644 --- a/scripts/pngw32.def +++ b/scripts/pngw32.def @@ -5,7 +5,7 @@ LIBRARY EXPORTS -;Version 1.2.26beta02 +;Version 1.2.26beta03 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3