From ec61c23d569867b38c01d6df62d640a99de816ab Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Tue, 16 May 2000 06:17:36 -0500 Subject: [PATCH] Imported from libpng-1.0.7beta13.tar --- ANNOUNCE | 9 ++++++++- CHANGES | 8 ++++++++ INSTALL | 13 +++++++------ LICENSE | 4 ++-- README | 11 ++++++----- Y2KINFO | 4 ++-- configure | 2 +- libpng.3 | 14 +++++++------- libpng.txt | 6 +++--- libpngpf.3 | 4 ++-- png.5 | 2 +- png.c | 35 ++++++++++++++++++++--------------- png.h | 29 +++++++++++++++-------------- pngasmrd.h | 2 +- pngconf.h | 29 +++++++++++++---------------- pngerror.c | 2 +- pnggccrd.c | 5 +++-- pngget.c | 2 +- pngmem.c | 2 +- pngpread.c | 2 +- pngread.c | 6 +++--- pngrio.c | 2 +- pngrtran.c | 2 +- pngrutil.c | 2 +- pngset.c | 5 +++-- pngtest.c | 4 ++-- pngtrans.c | 2 +- pngvcrd.c | 5 +++-- pngwio.c | 2 +- pngwrite.c | 2 +- pngwtran.c | 2 +- pngwutil.c | 2 +- scripts/makefile.beos | 2 +- scripts/makefile.dec | 2 +- scripts/makefile.gcmmx | 2 +- scripts/makefile.linux | 2 +- scripts/makefile.sco | 2 +- scripts/makefile.sggcc | 4 ++-- scripts/makefile.solaris | 2 +- scripts/pngdef.pas | 2 +- 40 files changed, 131 insertions(+), 108 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index a0d0e095..3c256eaf 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.0.7beta12 - May 12, 2000 +Libpng 1.0.7beta13 - May 16, 2000 This is a public release of libpng, intended for use in production codes. @@ -65,6 +65,13 @@ Changes since the last public release (1.0.6): Added png_access_version_number() function. Check for mask&PNG_FREE_CHNK (for TEXT, SCAL, PCAL) in png_free_data(). Expanded libpng.3/libpng.txt information about png_data_freer(). + Changed pnggccrd.c and pngvcrd.c to handle bad adaptive filter types as + warnings instead of errors, as pngrutil.c does. + Set the PNG_INFO_IDAT valid flag in png_set_rows() so png_write_png() + will actually write IDATs. + Made the default PNG_USE_LOCAL_ARRAYS depend on PNG_DLL instead of WIN32. + Make png_free_data() ignore its final parameter when freeing data that can + have multiple instances (text, sPLT, unknowns). Send comments/corrections/commendations to png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu diff --git a/CHANGES b/CHANGES index 488b5efd..e46689cb 100644 --- a/CHANGES +++ b/CHANGES @@ -745,6 +745,14 @@ version 1.0.7beta12 [May 12, 2000] Added png_access_version_number() function. Check for mask&PNG_FREE_CHNK (for TEXT, SCAL, PCAL) in png_free_data(). Expanded libpng.3/libpng.txt information about png_data_freer(). +version 1.0.7beta13 [May 16, 2000] + Changed pnggccrd.c and pngvcrd.c to handle bad adaptive filter types as + warnings instead of errors, as pngrutil.c does. + Set the PNG_INFO_IDAT valid flag in png_set_rows() so png_write_png() + will actually write IDATs. + Made the default PNG_USE_LOCAL_ARRAYS depend on PNG_DLL instead of WIN32. + Make png_free_data() ignore its final parameter when freeing data that can + have multiple instances (text, sPLT, unknowns). Send comments/corrections/commendations to png-implement@ccrc.wustl.edu or to randeg@alum.rpi.edu diff --git a/INSTALL b/INSTALL index 3405b876..d2144792 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Installing libpng version 1.0.7beta12 - May 12, 2000 +Installing libpng version 1.0.7beta13 - May 16, 2000 Before installing libpng, you must first install zlib. zlib can usually be found wherever you got libpng. zlib can be @@ -10,7 +10,7 @@ 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.0.7beta12" or "lpng106" and "zlib-1.1.3" +might be called "libpng-1.0.7beta13" or "lpng106" and "zlib-1.1.3" or "zlib113") so that you have directories called "zlib" and "libpng". Your directory structure should look like this: @@ -47,8 +47,8 @@ The files that are presently available in the scripts directory include makefile.std => Generic UNIX makefile (cc, creates static libpng.a) - makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.7beta12) - makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.7beta12, + makefile.linux => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.7beta13) + makefile.gcmmx => Linux/ELF makefile (gcc, creates libpng.so.2.1.0.7beta13, 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 @@ -57,11 +57,12 @@ include makefile.dec => DEC Alpha UNIX makefile makefile.hpux => HPUX (10.20 and 11.00) makefile makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static) + makefile.intel => Intel C/C++ version 4.0 and later libpng.icc => Project file for IBM VisualAge/C++ version 4.0 or later makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib) - makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.7beta12) + makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.7beta13) makefile.sunos => Sun makefile - makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.7beta12) + makefile.solaris => Solaris 2.X makefile (gcc, creates libpng.so.2.1.0.7beta13) makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc makefile.mips => MIPS makefile makefile.acorn => Acorn makefile diff --git a/LICENSE b/LICENSE index f71528ae..1c59b63f 100644 --- a/LICENSE +++ b/LICENSE @@ -5,7 +5,7 @@ Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. Copyright (c) 1996, 1997 Andreas Dilger (libpng versions 0.90, December 1996, through 0.96, May 1997) Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson -(libpng versions 0.97, January 1998, through 1.0.7beta12, May 12, 2000) +(libpng versions 0.97, January 1998, through 1.0.7beta13, May 16, 2000) For the purposes of this copyright and license, "Contributing Authors" is defined as the following set of individuals: @@ -68,4 +68,4 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson randeg@alum.rpi.edu -May 12, 2000 +May 16, 2000 diff --git a/README b/README index 85caa8ce..6fd29a25 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng 1.0.7beta12 - May 12, 2000 (shared library 2.1) +README for libpng 1.0.7beta13 - May 16, 2000 (shared library 2.1) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. @@ -172,9 +172,9 @@ Files in this distribution: descrip.mms => VMS makefile for MMS or MMK makefile.std => Generic UNIX makefile (cc, creates static libpng.a) makefile.linux => Linux/ELF makefile - (gcc, creates libpng.so.2.1.0.7beta12) + (gcc, creates libpng.so.2.1.0.7beta13) makefile.gcmmx => Linux/ELF makefile (gcc, creates - libpng.so.2.1.0.7beta12, uses assembler code + libpng.so.2.1.0.7beta13, 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 @@ -183,12 +183,13 @@ Files in this distribution: makefile.dec => DEC Alpha UNIX makefile makefile.hpux => HPUX (10.20 and 11.00) makefile makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static) + makefile.intel => Intel C/C++ version 4.0 and later libpng.icc => Project file, IBM VisualAge/C++ 4.0 or later makefile.sgi => Silicon Graphics IRIX (cc, creates static lib) - makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.7beta12) + makefile.sggcc => Silicon Graphics (gcc, creates libpng.so.2.1.0.7beta13) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng.so.2.1.0.7beta12) + (gcc, creates libpng.so.2.1.0.7beta13) makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc makefile.mips => MIPS makefile makefile.acorn => Acorn makefile diff --git a/Y2KINFO b/Y2KINFO index e5f54dbf..fb418e9d 100644 --- a/Y2KINFO +++ b/Y2KINFO @@ -1,13 +1,13 @@ Y2K compliance in libpng: ========================= - May 12, 2000 + May 16, 2000 Since the PNG Development group is an ad-hoc body, we can't make an official declaration. This is your unofficial assurance that libpng from version 0.71 and - upward through 1.0.7beta12 are Y2K compliant. It is my belief that earlier + upward through 1.0.7beta13 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 ee188768..456b590d 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ echo " - There is no \"configure\" script for Libpng-1.0.7beta12. Instead, please + There is no \"configure\" script for Libpng-1.0.7beta13. Instead, please copy the appropriate makefile for your system from the \"scripts\" directory. Read the INSTALL file for more details. " diff --git a/libpng.3 b/libpng.3 index 75e7ae2b..ab54f3f4 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "May 12, 2000" +.TH LIBPNG 3 "May 16, 2000" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.0.7beta12 +libpng \- Portable Network Graphics (PNG) Reference Library 1.0.7beta13 .SH SYNOPSIS \fI\fB @@ -743,7 +743,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.0.7beta12 - May 12, 2000 + libpng version 1.0.7beta13 - May 16, 2000 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson @@ -3356,13 +3356,13 @@ application: .SH VII. Y2K Compliance in libpng -May 12, 2000 +May 16, 2000 Since the PNG Development group is an ad-hoc body, we can't make an official declaration. This is your unofficial assurance that libpng from version 0.71 and -upward through 1.0.7beta12 are Y2K compliant. It is my belief that earlier +upward through 1.0.7beta13 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 @@ -3503,7 +3503,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.0.7beta12 - May 12, 2000: +Libpng version 1.0.7beta13 - May 16, 2000: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (randeg@alum.rpi.edu). @@ -3518,7 +3518,7 @@ Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. Copyright (c) 1996, 1997 Andreas Dilger (libpng versions 0.89c, May 1996, through 0.96, May 1997) Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson -(libpng versions 0.97, January 1998, through 1.0.7beta12, May 12, 2000) +(libpng versions 0.97, January 1998, through 1.0.7beta13, May 16, 2000) For the purposes of this copyright and license, "Contributing Authors" is defined as the following set of individuals: diff --git a/libpng.txt b/libpng.txt index 90c2de75..3214fe29 100644 --- a/libpng.txt +++ b/libpng.txt @@ -1,6 +1,6 @@ libpng.txt - A description on how to use and modify libpng - libpng version 1.0.7beta12 - May 12, 2000 + libpng version 1.0.7beta13 - May 16, 2000 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson @@ -2613,13 +2613,13 @@ application: VII. Y2K Compliance in libpng -May 12, 2000 +May 16, 2000 Since the PNG Development group is an ad-hoc body, we can't make an official declaration. This is your unofficial assurance that libpng from version 0.71 and -upward through 1.0.7beta12 are Y2K compliant. It is my belief that earlier +upward through 1.0.7beta13 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has three year fields. One is a 2-byte unsigned integer that diff --git a/libpngpf.3 b/libpngpf.3 index d778d5f5..3691e677 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "May 12, 2000" +.TH LIBPNGPF 3 "May 16, 2000" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.0.7beta12 +libpng \- Portable Network Graphics (PNG) Reference Library 1.0.7beta13 (private functions) .SH SYNOPSIS \fB#include \fP diff --git a/png.5 b/png.5 index d5462ae7..94c1c2d2 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "May 12, 2000" +.TH PNG 5 "May 16, 2000" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index 26db4f24..2f8b1491 100644 --- a/png.c +++ b/png.c @@ -1,7 +1,7 @@ /* png.c - location for general purpose libpng functions * - * libpng version 1.0.7beta12 - May 12, 2000 + * libpng version 1.0.7beta13 - May 16, 2000 * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson @@ -14,14 +14,14 @@ #include "png.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_0_7beta12 Your_png_h_is_not_version_1_0_7beta12; +typedef version_1_0_7beta13 Your_png_h_is_not_version_1_0_7beta13; /* Version information for C files. This had better match the version * string defined in png.h. */ #ifdef PNG_USE_GLOBAL_ARRAYS /* png_libpng_ver was changed to a function in version 1.0.5c */ -char png_libpng_ver[12] = "1.0.7beta12"; +char png_libpng_ver[12] = "1.0.7beta13"; /* png_sig was changed to a function in version 1.0.5c */ /* Place to hold the signature string for a PNG file. */ @@ -302,14 +302,17 @@ if (mask & PNG_FREE_TEXT) info_ptr->text[num].key = NULL; } } - else if (info_ptr->text != NULL) + else { - int i; - for (i = 0; i < info_ptr->num_text; i++) - png_free_data(png_ptr, info_ptr, PNG_FREE_TEXT, i); - png_free(png_ptr, info_ptr->text); - info_ptr->text = NULL; - info_ptr->num_text=0; + if (info_ptr->text != NULL) + { + int i; + for (i = 0; i < info_ptr->num_text; i++) + png_free_data(png_ptr, info_ptr, PNG_FREE_TEXT, i); + png_free(png_ptr, info_ptr->text); + info_ptr->text = NULL; + info_ptr->num_text=0; + } } } #endif @@ -344,7 +347,7 @@ if (mask & PNG_FREE_SCAL) png_free(png_ptr, info_ptr->scal_s_width); png_free(png_ptr, info_ptr->scal_s_height); #endif - info_ptr->valid &= ~PNG_INFO_sCAL; + info_ptr->valid &= ~PNG_INFO_sCAL; } } #endif @@ -369,8 +372,8 @@ if (mask & PNG_FREE_PCAL) png_free(png_ptr, info_ptr->pcal_params[i]); } png_free(png_ptr, info_ptr->pcal_params); + info_ptr->valid &= ~PNG_INFO_pCAL; } - info_ptr->valid &= ~PNG_INFO_pCAL; } } #endif @@ -501,6 +504,8 @@ if (mask & PNG_FREE_ROWS) #ifdef PNG_FREE_ME_SUPPORTED if(num == -1) info_ptr->free_me &= ~mask; + else + info_ptr->free_me &= ~(mask & ~PNG_FREE_MUL); #endif } @@ -601,7 +606,7 @@ png_charp PNGAPI png_get_copyright(png_structp png_ptr) { if (png_ptr != NULL || png_ptr == NULL) /* silence compiler warning */ - return ("\n libpng version 1.0.7beta12 - May 12, 2000\n\ + return ("\n libpng version 1.0.7beta13 - May 16, 2000\n\ Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.\n\ Copyright (c) 1996, 1997 Andreas Dilger\n\ Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson\n"); @@ -619,8 +624,8 @@ png_get_libpng_ver(png_structp png_ptr) { /* Version of *.c files used when building libpng */ if(png_ptr != NULL) /* silence compiler warning about unused png_ptr */ - return("1.0.7beta12"); - return("1.0.7beta12"); + return("1.0.7beta13"); + return("1.0.7beta13"); } png_charp PNGAPI diff --git a/png.h b/png.h index 880c4227..cea82092 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.0.7beta12 - May 12, 2000 + * libpng version 1.0.7beta13 - May 16, 2000 * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson @@ -9,7 +9,7 @@ * Authors and maintainers: * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.0.7beta12 - May 12, 2000: Glenn + * libpng versions 0.97, January 1998, through 1.0.7beta13 - May 16, 2000: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -52,10 +52,10 @@ * 1.0.6h 10007 10.6h (testing xy.z so-numbering) * 1.0.6i 10007 10.6i * 1.0.6j 10007 2.1.0.6j (incompatible with 1.0.0) - * 1.0.7beta11-12 10007 2.1.0.7beta11-12 (still compatible) + * 1.0.7beta11-12 10007 2.1.0.7beta11-12 (binary compatible) + * 1.0.7rc1 10007 2.1.0.7rc1 (binary compatible) * planned: - * 1.0.7prep00 10007 2.1.0.7prep00 (still compatible) - * 1.0.6ptch04 (w/4 patches) 10006 2.1.0.6 (binary compatible) + * 1.0.6patch4 (w/4 patches) 10006 2.1.0.6 (binary compatible) * 1.0.7 10007 (still compatible) * * Henceforth the source version will match the shared-library major @@ -66,7 +66,7 @@ * to the source version x.y.z (leading zeros in y and z). Beta versions * were given the previous public release number plus a letter, until * version 1.0.6j; from then on they were given the upcoming public - * release number plus "-beta-nn" or "-pre-nn". + * release number plus "betaNN" or "rcN". * * Binary incompatibility exists only when applications make direct access * to the info_ptr or png_ptr members through png.h, and the compiled @@ -87,7 +87,7 @@ * Copyright (c) 1996, 1997 Andreas Dilger * (libpng versions 0.89c, June 1996, through 0.96, May 1997) * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson - * (libpng versions 0.97, January 1998, through 1.0.7beta12, May 12, 2000) + * (libpng versions 0.97, January 1998, through 1.0.7beta13, May 16, 2000) * * For the purposes of this copyright and license, "Contributing Authors" * is defined as the following set of individuals: @@ -162,13 +162,13 @@ * Y2K compliance in libpng: * ========================= * - * May 12, 2000 + * May 16, 2000 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. * * This is your unofficial assurance that libpng from version 0.71 and - * upward through 1.0.7beta12 are Y2K compliant. It is my belief that earlier + * upward through 1.0.7beta13 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 @@ -224,7 +224,7 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.0.7beta12" +#define PNG_LIBPNG_VER_STRING "1.0.7beta13" #define PNG_LIBPNG_VER_SONUM 2 @@ -234,7 +234,7 @@ #define PNG_LIBPNG_VER_RELEASE 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 12 +#define PNG_LIBPNG_VER_BUILD 13 /* Careful here. At one time, Guy wanted to use 082, but that would be octal. * We must not include leading zeros. @@ -1123,9 +1123,9 @@ struct png_struct_def }; /* This prevents a compiler error in png_get_copyright() in png.c if png.c -and png.h are both at * version 1.0.7beta12 +and png.h are both at * version 1.0.7beta13 */ -typedef png_structp version_1_0_7beta12; +typedef png_structp version_1_0_7beta13; typedef png_struct FAR * FAR * png_structpp; @@ -1698,6 +1698,7 @@ extern PNG_EXPORT(void,png_data_freer) PNGARG((png_structp png_ptr, #define PNG_FREE_TRNS 0x2000 #define PNG_FREE_TEXT 0x4000 #define PNG_FREE_ALL 0x7fff +#define PNG_FREE_MUL 0x4220 /* PNG_FREE_SPLT|PNG_FREE_TEXT|PNG_FREE_UNKN */ #ifdef PNG_USER_MEM_SUPPORTED extern PNG_EXPORT(png_voidp,png_malloc_default) PNGARG((png_structp png_ptr, @@ -2137,7 +2138,7 @@ extern PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp png_ptr) extern PNG_EXPORT(png_charp,png_get_libpng_ver) PNGARG((png_structp png_ptr)); #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.0.7beta12 - May 12, 2000 (header)\n" + " libpng version 1.0.7beta13 - May 16, 2000 (header)\n" #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED /* With these routines we avoid an integer divide, which will be slower on diff --git a/pngasmrd.h b/pngasmrd.h index 92d7cc7c..f895b4d0 100644 --- a/pngasmrd.h +++ b/pngasmrd.h @@ -1,6 +1,6 @@ /* pngasmrd.h - assembler version of utilities to read a PNG file * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1999, 2000 Glenn Randers-Pehrson * diff --git a/pngconf.h b/pngconf.h index 7188b30a..12c18ef0 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,6 +1,6 @@ /* pngconf.h - machine configurable file for libpng * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger @@ -502,21 +502,6 @@ defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) #define PNG_ASSEMBLER_CODE_SUPPORTED #endif -/* Do not use global arrays (helps with building DLL's) - * They are no longer used in libpng itself, since version 1.0.5c, - * but might be required for some pre-1.0.5c applications. - */ -#ifdef PNG_NO_GLOBAL_ARRAYS -# define PNG_USE_LOCAL_ARRAYS -#else -# if defined(__GNUC__) && defined(WIN32) -# define PNG_NO_GLOBAL_ARRAYS -# define PNG_USE_LOCAL_ARRAYS -# else -# define PNG_USE_GLOBAL_ARRAYS -# endif -#endif - /* These are currently experimental features, define them if you want */ /* very little testing */ @@ -936,6 +921,18 @@ typedef z_stream FAR * png_zstreamp; # define PNG_DLL #endif +/* Do not use global arrays (helps with building DLL's) + * They are no longer used in libpng itself, since version 1.0.5c, + * but might be required for some pre-1.0.5c applications. + */ +#if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS) +# if defined(PNG_NO_GLOBAL_ARRAYS) || (defined(__GNUC__) && defined(PNG_DLL)) +# define PNG_USE_LOCAL_ARRAYS +# else +# define PNG_USE_GLOBAL_ARRAYS +# endif +#endif + #if defined(PNG_BUILD_DLL) && !defined(PNG_NO_MODULEDEF) # define PNG_IMPEXP #endif diff --git a/pngerror.c b/pngerror.c index 17c100f1..ae760972 100644 --- a/pngerror.c +++ b/pngerror.c @@ -1,7 +1,7 @@ /* pngerror.c - stub functions for i/o and memory allocation * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger diff --git a/pnggccrd.c b/pnggccrd.c index 87ddc792..75277a24 100644 --- a/pnggccrd.c +++ b/pnggccrd.c @@ -6,7 +6,7 @@ * and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm * for Intel's performance analysis of the MMX vs. non-MMX code. * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998, Intel Corporation * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson @@ -4500,7 +4500,8 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep break; default: - png_error(png_ptr, "#103 Bad adaptive filter type"); + png_warning(png_ptr, "Ignoring bad adaptive filter type"); + *row=0; break; } } diff --git a/pngget.c b/pngget.c index 8f43cbfc..f0de961c 100644 --- a/pngget.c +++ b/pngget.c @@ -1,7 +1,7 @@ /* pngget.c - retrieval of values from info struct * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger diff --git a/pngmem.c b/pngmem.c index 9204f70b..25f1fbac 100644 --- a/pngmem.c +++ b/pngmem.c @@ -1,7 +1,7 @@ /* pngmem.c - stub functions for memory allocation * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger diff --git a/pngpread.c b/pngpread.c index 9a553dc0..ca844c58 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1,7 +1,7 @@ /* pngpread.c - read a png file in push mode * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger diff --git a/pngread.c b/pngread.c index 86c89ce6..32370abf 100644 --- a/pngread.c +++ b/pngread.c @@ -1,7 +1,7 @@ /* pngread.c - read a PNG file * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger @@ -697,7 +697,7 @@ png_read_row(png_structp png_ptr, png_bytep row, png_bytep dsp_row) * not called png_set_interlace_handling(), the display_row buffer will * be ignored, so pass NULL to it. * - * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.7beta12 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.7beta13 */ void PNGAPI @@ -746,7 +746,7 @@ png_read_rows(png_structp png_ptr, png_bytepp row, * only call this function once. If you desire to have an image for * each pass of a interlaced image, use png_read_rows() instead. * - * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.7beta12 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.0.7beta13 */ void PNGAPI png_read_image(png_structp png_ptr, png_bytepp image) diff --git a/pngrio.c b/pngrio.c index 8dbd6e8b..36c75345 100644 --- a/pngrio.c +++ b/pngrio.c @@ -1,7 +1,7 @@ /* pngrio.c - functions for data input * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger diff --git a/pngrtran.c b/pngrtran.c index f5b7b7ca..69c7eb09 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -1,7 +1,7 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger diff --git a/pngrutil.c b/pngrutil.c index e9893ff7..e05c52ed 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,7 +1,7 @@ /* pngrutil.c - utilities to read a PNG file * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger diff --git a/pngset.c b/pngset.c index eeaff22c..f990b352 100644 --- a/pngset.c +++ b/pngset.c @@ -1,7 +1,7 @@ /* pngset.c - storage of image information into info struct * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger @@ -805,11 +805,12 @@ png_set_rows(png_structp png_ptr, png_infop info_ptr, png_bytepp row_pointers) if (png_ptr == NULL || info_ptr == NULL) return; - if(info_ptr->row_pointers != row_pointers) + if(info_ptr->row_pointers && (info_ptr->row_pointers != row_pointers)) { png_free_data(png_ptr, info_ptr, PNG_FREE_ROWS, 0); info_ptr->row_pointers = row_pointers; } + info_ptr->valid |= PNG_INFO_IDAT; } #endif diff --git a/pngtest.c b/pngtest.c index a3acd9fc..cc3641d6 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1,7 +1,7 @@ /* pngtest.c - a simple test program to test libpng * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger @@ -1380,4 +1380,4 @@ main(int argc, char *argv[]) } /* Generate a compiler error if there is an old png.h in the search path. */ -typedef version_1_0_7beta12 your_png_h_is_not_version_1_0_7beta12; +typedef version_1_0_7beta13 your_png_h_is_not_version_1_0_7beta13; diff --git a/pngtrans.c b/pngtrans.c index e303da40..bd3daff1 100644 --- a/pngtrans.c +++ b/pngtrans.c @@ -1,7 +1,7 @@ /* pngtrans.c - transforms the data in a row (used by both readers and writers) * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger diff --git a/pngvcrd.c b/pngvcrd.c index 5c3a7787..dfc9130c 100644 --- a/pngvcrd.c +++ b/pngvcrd.c @@ -2,7 +2,7 @@ * * For Intel x86 CPU and Microsoft Visual C++ compiler * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998, Intel Corporation * Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson @@ -3846,7 +3846,8 @@ png_read_filter_row(png_structp png_ptr, png_row_infop row_info, png_bytep break; } default: - png_error(png_ptr, "Bad adaptive filter type"); + png_warning(png_ptr, "Ignoring bad adaptive filter type"); + *row=0; break; } } diff --git a/pngwio.c b/pngwio.c index f7420546..66be8db8 100644 --- a/pngwio.c +++ b/pngwio.c @@ -1,7 +1,7 @@ /* pngwio.c - functions for data output * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger diff --git a/pngwrite.c b/pngwrite.c index 207ca82b..d3d888b0 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -1,7 +1,7 @@ /* pngwrite.c - general routines to write a PNG file * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger diff --git a/pngwtran.c b/pngwtran.c index 41625cc2..36fa1035 100644 --- a/pngwtran.c +++ b/pngwtran.c @@ -1,7 +1,7 @@ /* pngwtran.c - transforms the data in a row for PNG writers * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger diff --git a/pngwutil.c b/pngwutil.c index 3254a5d4..1507588d 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -1,7 +1,7 @@ /* pngwutil.c - utilities to write a PNG file * - * libpng 1.0.7beta12 - May 12, 2000 + * libpng 1.0.7beta13 - May 16, 2000 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. * Copyright (c) 1996, 1997 Andreas Dilger diff --git a/scripts/makefile.beos b/scripts/makefile.beos index f67a9a02..9f534c44 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -31,7 +31,7 @@ RANLIB=ranlib # read libpng.txt or png.h to see why PNGMAJ is 2. You should not # have to change it. PNGMAJ = 2 -PNGMIN = 1.0.7beta12 +PNGMIN = 1.0.7beta13 PNGVER = $(PNGMAJ).$(PNGMIN) # where make install puts libpng.a, libpng.so*, and png.h diff --git a/scripts/makefile.dec b/scripts/makefile.dec index 865037bb..a3c83a3a 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -14,7 +14,7 @@ ZLIBINC=../zlib # read libpng.txt or png.h to see why PNGMAJ is 2. You should not # have to change it. PNGMAJ = 2 -PNGMIN = 1.0.7beta12 +PNGMIN = 1.0.7beta13 PNGVER = $(PNGMAJ).$(PNGMIN) CC=cc diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index 8e2daef2..a1156f8f 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -34,7 +34,7 @@ RANLIB=ranlib # read libpng.txt or png.h to see why PNGMAJ is 2. You should not # have to change it. PNGMAJ = 2 -PNGMIN = 1.0.7beta12 +PNGMIN = 1.0.7beta13 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 7520c265..1ae7439f 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -34,7 +34,7 @@ RANLIB=ranlib # read libpng.txt or png.h to see why PNGMAJ is 2. You should not # have to change it. PNGMAJ = 2 -PNGMIN = 1.0.7beta12 +PNGMIN = 1.0.7beta13 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.sco b/scripts/makefile.sco index 3563ef51..5a18599e 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -25,7 +25,7 @@ RANLIB=echo # read libpng.txt or png.h to see why PNGMAJ is 2. You should not # have to change it. PNGMAJ = 2 -PNGMIN = 1.0.7beta12 +PNGMIN = 1.0.7beta13 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index 1c438413..799913ae 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -19,8 +19,8 @@ CFLAGS=-I$(ZLIBINC) -O2 $(WARNMORE) -fPIC -mabi=n32 # -g -DPNG_DEBUG=5 LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm LDSHARED=gcc -shared -VER=1.0.7beta12 -LIBS=libpng.so.1.0.7beta12 +VER=1.0.7beta13 +LIBS=libpng.so.1.0.7beta13 SHAREDLIB=libpng.so libdir=$(prefix)/lib32 diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index 9eb82922..33a2e55c 100644 --- a/scripts/makefile.solaris +++ b/scripts/makefile.solaris @@ -31,7 +31,7 @@ RANLIB=echo # read libpng.txt or png.h to see why PNGMAJ is 2. You should not # have to change it. PNGMAJ = 2 -PNGMIN = 1.0.7beta12 +PNGMIN = 1.0.7beta13 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/pngdef.pas b/scripts/pngdef.pas index 69a83e0b..505cba9f 100644 --- a/scripts/pngdef.pas +++ b/scripts/pngdef.pas @@ -5,7 +5,7 @@ unit pngdef; interface const - PNG_LIBPNG_VER_STRING = '1.0.7beta12'; + PNG_LIBPNG_VER_STRING = '1.0.7beta13'; PNG_LIBPNG_VER = 10007; type