From c3dda6daeaf9d69f0c73d857d4c6b5e41349f696 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sat, 27 Nov 2004 18:22:29 -0600 Subject: [PATCH] Imported from libpng-1.2.8rc3.tar --- ANNOUNCE | 10 +- CHANGES | 6 +- INSTALL | 16 +- KNOWNBUG | 2 +- LICENSE | 4 +- README | 14 +- Y2KINFO | 4 +- configure | 4 +- libpng.3 | 20 +- libpng.txt | 6 +- libpngpf.3 | 4 +- png.5 | 2 +- png.c | 6 +- png.h | 22 +- pngconf.h | 13 +- pngerror.c | 2 +- pnggccrd.c | 2 +- pngget.c | 2 +- pngmem.c | 2 +- pngpread.c | 2 +- pngread.c | 6 +- pngrio.c | 2 +- pngrtran.c | 2 +- pngrutil.c | 637 ++++++++++++++-------------------- pngset.c | 2 +- pngtest.c | 4 +- pngtrans.c | 2 +- pngvcrd.c | 2 +- pngwio.c | 2 +- pngwrite.c | 2 +- pngwtran.c | 2 +- pngwutil.c | 2 +- scripts/libpng-config-head.in | 2 +- scripts/libpng.pc.in | 2 +- scripts/makefile.32sunu | 2 +- scripts/makefile.64sunu | 2 +- scripts/makefile.aix | 2 +- scripts/makefile.beos | 2 +- scripts/makefile.cygwin | 2 +- scripts/makefile.darwin | 2 +- scripts/makefile.dec | 2 +- scripts/makefile.elf | 249 +++++++++++++ scripts/makefile.gcmmx | 2 +- scripts/makefile.hp64 | 2 +- scripts/makefile.hpgcc | 2 +- scripts/makefile.hpux | 2 +- scripts/makefile.linux | 2 +- scripts/makefile.ne12bsd | 2 +- scripts/makefile.netbsd | 2 +- scripts/makefile.openbsd | 2 +- scripts/makefile.sco | 2 +- scripts/makefile.sggcc | 2 +- scripts/makefile.sgi | 2 +- scripts/makefile.so9 | 2 +- scripts/makefile.solaris | 2 +- scripts/pngos2.def | 2 +- scripts/pngw32.def | 2 +- 57 files changed, 631 insertions(+), 474 deletions(-) create mode 100644 scripts/makefile.elf diff --git a/ANNOUNCE b/ANNOUNCE index c1feaea68..6e857db20 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.2.8rc2 - November 26, 2004 +Libpng 1.2.8rc3 - November 28, 2004 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. @@ -31,6 +31,7 @@ version 1.2.8beta5 [November 20, 2004] Revised handling of SPECIALBUILD, PRIVATEBUILD, PNG_LIBPNG_BUILD_SPECIAL_STRING and PNG_LIBPNG_BUILD_PRIVATE_STRING. version 1.2.8rc1 [Novermber 24, 2004] + Inadvertently installed a supposedly faster test version of pngrutil.c Moved handling of BUILD macros from pngconf.h to png.h Added definition of PNG_LIBPNG_BASE_TYPE in png.h, inadvertently omitted from beta5. @@ -38,6 +39,13 @@ version 1.2.8rc1 [Novermber 24, 2004] Despammed mailing addresses by masking "@" with "at". version 1.2.8rc2 [November 26, 2004] Added two missing "\" in png.h + Change tests in pngread.c and pngpread.c to + if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA)) + png_do_read_transformations(png_ptr); +version 1.2.8rc3 [November 28, 2004] + Reverted pngrutil.c to version libpng-1.2.8beta5. + Added scripts/makefile.elf with supporting code in pngconf.h for symbol + versioning (John Bowler). Send comments/corrections/commendations to png-implement at ccrc.wustl.edu (subscription required; write to diff --git a/CHANGES b/CHANGES index 66dd1b672..ed828dad1 100644 --- a/CHANGES +++ b/CHANGES @@ -1394,12 +1394,16 @@ version 1.2.8rc1 [November 24, 2004] omitted from beta5. Revised scripts/pngw32.rc Despammed mailing addresses by masking "@" with "at". + Inadvertently installed a supposedly faster test version of pngrutil.c version 1.2.8rc2 [November 26, 2004] Added two missing "\" in png.h Change tests in pngread.c and pngpread.c to if (png_ptr->transformations || (png_ptr->flags&PNG_FLAG_STRIP_ALPHA)) png_do_read_transformations(png_ptr); - +version 1.2.8rc3 [November 28, 2004] + Reverted pngrutil.c to version libpng-1.2.8beta5. + Added scripts/makefile.elf with supporting code in pngconf.h for symbol + versioning (John Bowler). Send comments/corrections/commendations to png-implement at ccrc.wustl.edu (subscription required; write to diff --git a/INSTALL b/INSTALL index e9a1198c0..0f9a66645 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -Installing libpng version 1.2.8rc2 - November 26, 2004 +Installing libpng version 1.2.8rc3 - November 28, 2004 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.2.8rc2" or "lpng109" and "zlib-1.2.1" +might be called "libpng-1.2.8rc3" 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: @@ -66,10 +66,12 @@ The files that are presently available in the scripts directory include makefile.std => Generic UNIX makefile (cc, creates static libpng.a) + makefile.elf => Linux/ELF makefile symbol versioning, + gcc, creates libpng12.so.0.1.2.8rc3) makefile.linux => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.8rc2) + (gcc, creates libpng12.so.0.1.2.8rc3) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.8rc2, + (gcc, creates libpng12.so.0.1.2.8rc3, 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 @@ -92,12 +94,12 @@ 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.8rc2) + creates libpng12.so.0.1.2.8rc3) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile (gcc, - creates libpng12.so.0.1.2.8rc2) + creates libpng12.so.0.1.2.8rc3) makefile.so9 => Solaris 9 makefile (gcc, - creates libpng12.so.0.1.2.8rc2) + creates libpng12.so.0.1.2.8rc3) 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 6af22471b..4859980d0 100644 --- a/KNOWNBUG +++ b/KNOWNBUG @@ -1,5 +1,5 @@ -Known bugs in libpng version 1.2.8rc2 +Known bugs in libpng version 1.2.8rc3 1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when reading interlaced PNG files, when assembler code is enabled but running diff --git a/LICENSE b/LICENSE index b9ac6d046..9898cab27 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 version 1.2.6, November 26, 2004, is +libpng version 1.2.6, November 28, 2004, is Copyright (c) 2004 Glenn Randers-Pehrson, and is 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 -November 26, 2004 +November 28, 2004 diff --git a/README b/README index 1c1e4b660..09e790bf3 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -README for libpng version 1.2.8rc2 - November 26, 2004 (shared library 12.0) +README for libpng version 1.2.8rc3 - November 28, 2004 (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. @@ -188,10 +188,12 @@ Files in this distribution: scripts => Directory containing scripts for building libpng: 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.8rc3) makefile.linux => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.8rc2) + (gcc, creates libpng12.so.0.1.2.8rc3) makefile.gcmmx => Linux/ELF makefile - (gcc, creates libpng12.so.0.1.2.8rc2, + (gcc, creates libpng12.so.0.1.2.8rc3, 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 @@ -213,12 +215,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.8rc2) + (gcc, creates libpng12.so.0.1.2.8rc3) makefile.sunos => Sun makefile makefile.solaris => Solaris 2.X makefile - (gcc, creates libpng12.so.0.1.2.8rc2) + (gcc, creates libpng12.so.0.1.2.8rc3) makefile.so9 => Solaris 9 makefile - (gcc, creates libpng12.so.0.1.2.8rc2) + (gcc, creates libpng12.so.0.1.2.8rc3) 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 752963296..b01253dc2 100644 --- a/Y2KINFO +++ b/Y2KINFO @@ -1,13 +1,13 @@ Y2K compliance in libpng: ========================= - November 26, 2004 + November 28, 2004 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.8rc2 are Y2K compliant. It is my belief that earlier + upward through 1.2.8rc3 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 3037d3598..f688936de 100755 --- a/configure +++ b/configure @@ -1,13 +1,13 @@ #!/bin/sh echo " There is no \"configure\" script in this distribution of - libpng-1.2.8rc2. + libpng-1.2.8rc3. Instead, please copy the appropriate makefile for your system from the \"scripts\" directory. Read the INSTALL file for more details. Update, July 2004: you can get a "configure" based distribution from the libpng distribution sites. Download the file - libpng-1.2.8rc2-config.tar.gz + libpng-1.2.8rc3-config.tar.gz " diff --git a/libpng.3 b/libpng.3 index 432000ac3..05f243d1c 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ -.TH LIBPNG 3 "November 26, 2004" +.TH LIBPNG 3 "November 28, 2004" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8rc2 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8rc3 .SH SYNOPSIS \fI\fB @@ -781,7 +781,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.8rc2 - November 26, 2004 + libpng version 1.2.8rc3 - November 28, 2004 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2004 Glenn Randers-Pehrson @@ -3685,13 +3685,13 @@ application: .SH IX. Y2K Compliance in libpng -November 26, 2004 +November 28, 2004 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.8rc2 are Y2K compliant. It is my belief that earlier +upward through 1.2.8rc3 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 @@ -3840,8 +3840,8 @@ the first widely used release: 1.0.17 10 10017 12.so.0.1.0.17 1.2.7 13 10207 12.so.0.1.2.7 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5 - 1.0.18rc1-2 10 10018 12.so.0.1.0.18rc1-2 - 1.2.8rc1-2 13 10208 12.so.0.1.2.8rc1-2 + 1.0.18rc1-3 10 10018 12.so.0.1.0.18rc1-3 + 1.2.8rc1-3 13 10208 12.so.0.1.2.8rc1-3 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.8rc2 - November 26, 2004: +Libpng version 1.2.8rc3 - November 28, 2004: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -3915,7 +3915,7 @@ included in the libpng distribution, the latter shall prevail.) If you modify libpng you may insert additional notices immediately following this sentence. -libpng version 1.2.6, November 26, 2004, is +libpng version 1.2.6, November 28, 2004, is Copyright (c) 2004 Glenn Randers-Pehrson, and is distributed according to the same disclaimer and license as libpng-1.2.5 with the following individual added to the list of Contributing Authors @@ -4014,7 +4014,7 @@ certification mark of the Open Source Initiative. Glenn Randers-Pehrson glennrp at users.sourceforge.net -November 26, 2004 +November 28, 2004 .\" end of man page diff --git a/libpng.txt b/libpng.txt index 70fe44f46..a1be987f6 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.2.8rc2 - November 26, 2004 + libpng version 1.2.8rc3 - November 28, 2004 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2004 Glenn Randers-Pehrson @@ -2904,13 +2904,13 @@ application: IX. Y2K Compliance in libpng -November 26, 2004 +November 28, 2004 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.8rc2 are Y2K compliant. It is my belief that earlier +upward through 1.2.8rc3 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 401d0d6b3..234d1caf0 100644 --- a/libpngpf.3 +++ b/libpngpf.3 @@ -1,6 +1,6 @@ -.TH LIBPNGPF 3 "November 26, 2004" +.TH LIBPNGPF 3 "November 28, 2004" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8rc2 +libpng \- Portable Network Graphics (PNG) Reference Library 1.2.8rc3 (private functions) .SH SYNOPSIS \fB\fB#include \fP\fP diff --git a/png.5 b/png.5 index a9c9efc84..e0476db71 100644 --- a/png.5 +++ b/png.5 @@ -1,4 +1,4 @@ -.TH PNG 5 "November 26, 2004" +.TH PNG 5 "November 28, 2004" .SH NAME png \- Portable Network Graphics (PNG) format .SH DESCRIPTION diff --git a/png.c b/png.c index 9bc8d7f75..4af84246f 100644 --- a/png.c +++ b/png.c @@ -1,7 +1,7 @@ /* png.c - location for general purpose libpng functions * - * libpng version 1.2.8rc2 - November 26, 2004 + * libpng version 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -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_8rc2 Your_png_h_is_not_version_1_2_8rc2; +typedef version_1_2_8rc3 Your_png_h_is_not_version_1_2_8rc3; /* Version information for C files. This had better match the version * string defined in png.h. */ @@ -680,7 +680,7 @@ png_charp PNGAPI png_get_copyright(png_structp png_ptr) { if (&png_ptr != NULL) /* silence compiler warning about unused png_ptr */ - return ((png_charp) "\n libpng version 1.2.8rc2 - November 26, 2004\n\ + return ((png_charp) "\n libpng version 1.2.8rc3 - November 28, 2004\n\ Copyright (c) 1998-2004 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 9dfa95db9..5c0f58f8c 100644 --- a/png.h +++ b/png.h @@ -1,6 +1,6 @@ /* png.h - header file for PNG reference library * - * libpng version 1.2.8rc2 - November 26, 2004 + * libpng version 1.2.8rc3 - November 28, 2004 * Copyright (c) 1998-2004 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.) @@ -8,7 +8,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.8rc2 - November 26, 2004: Glenn + * libpng versions 0.97, January 1998, through 1.2.8rc3 - November 28, 2004: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -107,8 +107,8 @@ * 1.0.17 10 10017 12.so.0.1.0.17 * 1.2.7 13 10207 12.so.0.1.2.7 * 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5 - * 1.0.18rc1-2 10 10018 12.so.0.1.0.18rc1-2 - * 1.2.8rc1-2 13 10208 12.so.0.1.2.8rc1-2 + * 1.0.18rc1-3 10 10018 12.so.0.1.0.18rc1-3 + * 1.2.8rc1-3 13 10208 12.so.0.1.2.8rc1-3 * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -138,7 +138,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.8rc2, November 26, 2004, are + * libpng versions 1.2.6, August 15, 2004, through 1.2.8rc3, November 28, 2004, are * Copyright (c) 2004 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: @@ -250,13 +250,13 @@ * Y2K compliance in libpng: * ========================= * - * November 26, 2004 + * November 28, 2004 * * 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.8rc2 are Y2K compliant. It is my belief that earlier + * upward through 1.2.8rc3 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 @@ -312,9 +312,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.2.8rc2" +#define PNG_LIBPNG_VER_STRING "1.2.8rc3" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.2.8rc2 - November 26, 2004 (header)\n" + " libpng version 1.2.8rc3 - November 28, 2004 (header)\n" #define PNG_LIBPNG_VER_SONUM 0 #define PNG_LIBPNG_VER_DLLNUM 13 @@ -326,7 +326,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 2 +#define PNG_LIBPNG_VER_BUILD 3 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -1354,7 +1354,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_8rc2; +typedef png_structp version_1_2_8rc3; typedef png_struct FAR * FAR * png_structpp; diff --git a/pngconf.h b/pngconf.h index 316fab878..afa77fa0c 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.2.8rc2 - November 26, 2004 + * libpng version 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1322,6 +1322,17 @@ typedef z_stream FAR * png_zstreamp; # define PNG_IMPEXP #endif +#ifdef PNG_BUILDSYMS +# ifndef PNG_EXPORT +# define PNG_EXPORT(type,symbol) PNG_FUNCTION_EXPORT symbol END +# endif +# ifdef PNG_USE_GLOBAL_ARRAYS +# ifndef PNG_EXPORT_VAR +# define PNG_EXPORT_VAR(type) PNG_DATA_EXPORT +# endif +# endif +#endif + #ifndef PNG_EXPORT # define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol #endif diff --git a/pngerror.c b/pngerror.c index a8850c70c..2d7fc171e 100644 --- a/pngerror.c +++ b/pngerror.c @@ -1,7 +1,7 @@ /* pngerror.c - stub functions for i/o and memory allocation * - * libpng version 1.2.8rc2 - November 26, 2004 + * libpng version 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pnggccrd.c b/pnggccrd.c index 51ccd85d1..7eb064e3d 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 version 1.2.8rc2 - November 26, 2004 + * libpng version 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998, Intel Corporation diff --git a/pngget.c b/pngget.c index 853f29ea4..c0bd58bfb 100644 --- a/pngget.c +++ b/pngget.c @@ -1,7 +1,7 @@ /* pngget.c - retrieval of values from info struct * - * libpng 1.2.8rc2 - November 26, 2004 + * libpng 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngmem.c b/pngmem.c index 22a1c2179..be834e2e7 100644 --- a/pngmem.c +++ b/pngmem.c @@ -1,7 +1,7 @@ /* pngmem.c - stub functions for memory allocation * - * libpng version 1.2.8rc2 - November 26, 2004 + * libpng version 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngpread.c b/pngpread.c index c735e4f17..e8a86ab38 100644 --- a/pngpread.c +++ b/pngpread.c @@ -1,7 +1,7 @@ /* pngpread.c - read a png file in push mode * - * libpng version 1.2.8rc2 - November 26, 2004 + * libpng version 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngread.c b/pngread.c index 9ba0bda28..29173b362 100644 --- a/pngread.c +++ b/pngread.c @@ -1,7 +1,7 @@ /* pngread.c - read a PNG file * - * libpng 1.2.8rc2 - November 26, 2004 + * libpng 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -806,7 +806,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.2.8rc2 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.8rc3 */ void PNGAPI @@ -856,7 +856,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.2.8rc2 + * [*] png_handle_alpha() does not exist yet, as of libpng version 1.2.8rc3 */ void PNGAPI png_read_image(png_structp png_ptr, png_bytepp image) diff --git a/pngrio.c b/pngrio.c index d8e4d15e6..d06e57d9f 100644 --- a/pngrio.c +++ b/pngrio.c @@ -1,7 +1,7 @@ /* pngrio.c - functions for data input * - * libpng 1.2.8rc2 - November 26, 2004 + * libpng 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngrtran.c b/pngrtran.c index 46474f45e..995acb6bc 100644 --- a/pngrtran.c +++ b/pngrtran.c @@ -1,7 +1,7 @@ /* pngrtran.c - transforms the data in a row for PNG readers * - * libpng version 1.2.8rc2 - November 26, 2004 + * libpng version 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngrutil.c b/pngrutil.c index d8c6f764b..92e4a940e 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -1,6 +1,6 @@ /* pngrutil.c - utilities to read a PNG file * - * libpng version 1.2.8rc2 - November 26, 2004 + * libpng version 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -2260,46 +2260,59 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) } else { -#if defined(PNG_READ_PACKSWAP_SUPPORTED) - static const png_byte bitrev[16] = - {0x00, 0x08, 0x04, 0x0C, 0x02, 0x0A, 0x06, 0x0E, - 0x01, 0x09, 0x05, 0x0D, 0x03, 0x0B, 0x07, 0x0F}; - static const png_byte lastbyte_mask_norm[8] = - {0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE}; - static const png_byte lastbyte_mask_swap[8] = - {0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F}; - const png_byte *lastbyte_mask = - (png_ptr->transformations & PNG_PACKSWAP) ? - lastbyte_mask_swap : lastbyte_mask_norm; -#else - static const png_byte lastbyte_mask[8] = - {0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE}; -#endif switch (png_ptr->row_info.pixel_depth) { case 1: { png_bytep sp = png_ptr->row_buf + 1; png_bytep dp = row; + int s_inc, s_start, s_end; + int m = 0x80; + int shift; png_uint_32 i; - png_byte pixel_mask; + png_uint_32 row_width = png_ptr->width; #if defined(PNG_READ_PACKSWAP_SUPPORTED) if (png_ptr->transformations & PNG_PACKSWAP) - mask = (bitrev[mask & 0x0F] << 4) | bitrev[(mask >> 4) & 0x0F]; -#endif - pixel_mask = (png_byte)mask; - - for (i = png_ptr->width; i >= 8; i -= 8) { - *dp = (*sp & pixel_mask) | (*dp & ~pixel_mask); - sp++; - dp++; + s_start = 0; + s_end = 7; + s_inc = 1; } - if (i > 0) + else +#endif { - pixel_mask &= lastbyte_mask[i]; - *dp = (*sp & pixel_mask) | (*dp & ~pixel_mask); + s_start = 7; + s_end = 0; + s_inc = -1; + } + + shift = s_start; + + for (i = 0; i < row_width; i++) + { + if (m & mask) + { + int value; + + value = (*sp >> shift) & 0x01; + *dp &= (png_byte)((0x7f7f >> (7 - shift)) & 0xff); + *dp |= (png_byte)(value << shift); + } + + if (shift == s_end) + { + shift = s_start; + sp++; + dp++; + } + else + shift += s_inc; + + if (m == 1) + m = 0x80; + else + m >>= 1; } break; } @@ -2307,40 +2320,51 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) { png_bytep sp = png_ptr->row_buf + 1; png_bytep dp = row; - png_uint_32 i; - png_byte pixel_mask[2]; + int s_start, s_end, s_inc; int m = 0x80; - int j; + int shift; + png_uint_32 i; + png_uint_32 row_width = png_ptr->width; + int value; #if defined(PNG_READ_PACKSWAP_SUPPORTED) if (png_ptr->transformations & PNG_PACKSWAP) - mask = bitrev[mask & 0x0F] | (bitrev[(mask >> 4) & 0x0F] << 4); + { + s_start = 0; + s_end = 6; + s_inc = 2; + } + else #endif - for (j = 0; j < 2; j++) { - pixel_mask[j] = 0; - for (i = 4; i > 0; i--) + s_start = 6; + s_end = 0; + s_inc = -2; + } + + shift = s_start; + + for (i = 0; i < row_width; i++) + { + if (m & mask) { - pixel_mask[j] <<= 2; - if (m & mask) - pixel_mask[j] |= 0x03; - m >>= 1; + value = (*sp >> shift) & 0x03; + *dp &= (png_byte)((0x3f3f >> (6 - shift)) & 0xff); + *dp |= (png_byte)(value << shift); } - } - j = 0; - for (i = png_ptr->width; i >= 4; i -= 4) - { - if (pixel_mask[j] != 0) - *dp = (*sp & pixel_mask[j]) | (*dp & ~pixel_mask[j]); - sp++; - dp++; - j ^= 1; - } - if (i > 0) - { - pixel_mask[j] &= lastbyte_mask[i * 2]; - if (pixel_mask[j] != 0) - *dp = (*sp & pixel_mask[j]) | (*dp & ~pixel_mask[j]); + + if (shift == s_end) + { + shift = s_start; + sp++; + dp++; + } + else + shift += s_inc; + if (m == 1) + m = 0x80; + else + m >>= 1; } break; } @@ -2348,41 +2372,50 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) { png_bytep sp = png_ptr->row_buf + 1; png_bytep dp = row; - png_uint_32 i; - png_byte pixel_mask[4]; + int s_start, s_end, s_inc; int m = 0x80; - int j; + int shift; + png_uint_32 i; + png_uint_32 row_width = png_ptr->width; + int value; #if defined(PNG_READ_PACKSWAP_SUPPORTED) if (png_ptr->transformations & PNG_PACKSWAP) - mask = ((mask & 0x55) << 1) | ((mask & 0xAA) >> 1); + { + s_start = 0; + s_end = 4; + s_inc = 4; + } + else #endif - for (j = 0; j < 4; j++) { - pixel_mask[j] = 0; - for (i = 2; i > 0; i--) + s_start = 4; + s_end = 0; + s_inc = -4; + } + shift = s_start; + + for (i = 0; i < row_width; i++) + { + if (m & mask) { - pixel_mask[j] <<= 4; - if (m & mask) - pixel_mask[j] |= 0x0F; - m >>= 1; + value = (*sp >> shift) & 0xf; + *dp &= (png_byte)((0xf0f >> (4 - shift)) & 0xff); + *dp |= (png_byte)(value << shift); } - } - j = 0; - for (i = png_ptr->width; i >= 2; i -= 2) - { - if (pixel_mask[j] != 0) - *dp = (*sp & pixel_mask[j]) | (*dp & ~pixel_mask[j]); - sp++; - dp++; - j += 1; - j &= 3; - } - if (i > 0) - { - pixel_mask[j] &= lastbyte_mask[4]; - if (pixel_mask[j] != 0) - *dp = (*sp & pixel_mask[j]) | (*dp & ~pixel_mask[j]); + + if (shift == s_end) + { + shift = s_start; + sp++; + dp++; + } + else + shift += s_inc; + if (m == 1) + m = 0x80; + else + m >>= 1; } break; } @@ -2392,123 +2425,24 @@ png_combine_row(png_structp png_ptr, png_bytep row, int mask) png_bytep dp = row; png_size_t pixel_bytes = (png_ptr->row_info.pixel_depth >> 3); png_uint_32 i; - int m = 0x80; + png_uint_32 row_width = png_ptr->width; + png_byte m = 0x80; - switch (pixel_bytes) + + for (i = 0; i < row_width; i++) { - case 1: - for (i = png_ptr->width; i > 0; i--) - { - if (m & mask) - { - *(dp + 0) = *(sp + 0); - } - sp += 1; - dp += 1; - if ((m >>= 1) == 0) - m = 0x80; - } - break; - case 2: - for (i = png_ptr->width; i > 0; i--) - { - if (m & mask) - { - *(dp + 0) = *(sp + 0); - *(dp + 1) = *(sp + 1); - } - sp += 2; - dp += 2; - if ((m >>= 1) == 0) - m = 0x80; - } - break; - case 3: - for (i = png_ptr->width; i > 0; i--) - { - if (m & mask) - { - *(dp + 0) = *(sp + 0); - *(dp + 1) = *(sp + 1); - *(dp + 2) = *(sp + 2); - } - sp += 3; - dp += 3; - if ((m >>= 1) == 0) - m = 0x80; - } - break; - case 4: - for (i = png_ptr->width; i > 0; i--) - { - if (m & mask) - { - *(dp + 0) = *(sp + 0); - *(dp + 1) = *(sp + 1); - *(dp + 2) = *(sp + 2); - *(dp + 3) = *(sp + 3); - } - sp += 4; - dp += 4; - if ((m >>= 1) == 0) - m = 0x80; - } - break; - case 6: - for (i = png_ptr->width; i > 0; i--) - { - if (m & mask) - { - *(dp + 0) = *(sp + 0); - *(dp + 1) = *(sp + 1); - *(dp + 2) = *(sp + 2); - *(dp + 3) = *(sp + 3); - *(dp + 4) = *(sp + 4); - *(dp + 5) = *(sp + 5); - } - sp += 6; - dp += 6; - if ((m >>= 1) == 0) - m = 0x80; - } - break; - case 8: - for (i = png_ptr->width; i > 0; i--) - { - if (m & mask) - { - *(dp + 0) = *(sp + 0); - *(dp + 1) = *(sp + 1); - *(dp + 2) = *(sp + 2); - *(dp + 3) = *(sp + 3); - *(dp + 4) = *(sp + 4); - *(dp + 5) = *(sp + 5); - *(dp + 6) = *(sp + 6); - *(dp + 7) = *(sp + 7); - } - sp += 8; - dp += 8; - if ((m >>= 1) == 0) - m = 0x80; - } - break; - default: - /*for (i = png_ptr->width; i > 0; i--) - *{ - * if (m & mask) - * { - * png_size_t j; - * for (j = 0; j < pixel_bytes; j++) - * { - * *(dp + j) = *(sp + j); - * } - * } - * sp += pixel_bytes; - * dp += pixel_bytes; - * if ((m >>= 1) == 0) - * m = 0x80; - *} - */break; + if (m & mask) + { + png_memcpy(dp, sp, pixel_bytes); + } + + sp += pixel_bytes; + dp += pixel_bytes; + + if (m == 1) + m = 0x80; + else + m >>= 1; } break; } @@ -2537,101 +2471,122 @@ png_do_read_interlace(png_structp png_ptr) #endif png_debug(1,"in png_do_read_interlace (stock C version)\n"); - if (row != NULL && row_info != NULL && - pass < 6) + if (row != NULL && row_info != NULL) { - png_uint_32 final_width = row_info->width * png_pass_inc[pass]; + png_uint_32 final_width; + + final_width = row_info->width * png_pass_inc[pass]; switch (row_info->pixel_depth) { case 1: { - static const png_byte pixeltable1[24] = - {0x00, 0x00, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0xFF, - 0x00, 0x03, 0x0C, 0x0F, 0x30, 0x33, 0x3C, 0x3F, - 0xC0, 0xC3, 0xCC, 0xCF, 0xF0, 0xF3, 0xFC, 0xFF}; png_bytep sp = row + (png_size_t)((row_info->width - 1) >> 3); png_bytep dp = row + (png_size_t)((final_width - 1) >> 3); - int nbits = 8 / png_pass_inc[pass]; - int sshift = 7 - (int)((row_info->width + 7) & 0x07); - int s_inc = nbits; - png_byte smask = (1 << nbits) - 1; - const png_byte *pix = pixeltable1 + (2 * nbits); + int sshift, dshift; + int s_start, s_end, s_inc; + int jstop = png_pass_inc[pass]; + png_byte v; png_uint_32 i; + int j; #if defined(PNG_READ_PACKSWAP_SUPPORTED) if (transformations & PNG_PACKSWAP) { - sshift = 7 - sshift; - s_inc = -s_inc; + sshift = (int)((row_info->width + 7) & 0x07); + dshift = (int)((final_width + 7) & 0x07); + s_start = 7; + s_end = 0; + s_inc = -1; } + else #endif - sshift &= (0x10 - nbits); - - for (i = (row_info->width + nbits - 1) / nbits; - i > 0; i--) { - *dp-- = pix[(*sp >> sshift) & smask]; + sshift = 7 - (int)((row_info->width + 7) & 0x07); + dshift = 7 - (int)((final_width + 7) & 0x07); + s_start = 0; + s_end = 7; + s_inc = 1; + } - sshift += s_inc; - if (sshift >= 8) + for (i = 0; i < row_info->width; i++) + { + v = (png_byte)((*sp >> sshift) & 0x01); + for (j = 0; j < jstop; j++) { - sshift -= 8; - sp--; - } - else if (sshift < 0) - { - sshift += 8; + *dp &= (png_byte)((0x7f7f >> (7 - dshift)) & 0xff); + *dp |= (png_byte)(v << dshift); + if (dshift == s_end) + { + dshift = s_start; + dp--; + } + else + dshift += s_inc; + } + if (sshift == s_end) + { + sshift = s_start; sp--; } + else + sshift += s_inc; } break; } case 2: { - static const png_byte pixeltable2[20] = - {0x00, 0x55, 0xAA, 0xFF, - 0x00, 0x05, 0x0A, 0x0F, 0x50, 0x55, 0x5A, 0x5F, - 0xA0, 0xA5, 0xAA, 0xAF, 0xF0, 0xF5, 0xFA, 0xFF}; - png_bytep sp = row + (png_size_t)((row_info->width - 1) >> 2); - png_bytep dp = row + (png_size_t)((final_width - 1) >> 2); - int is2 = (png_pass_inc[pass] == 2); - int is8 = (png_pass_inc[pass] == 8); - int sshift = (int)((3 - ((row_info->width + 3) & 0x03)) << 1); - int s_inc = 2 << is2; - png_byte smask = (4 << (2 * is2)) - 1; - const png_byte *pix = pixeltable2 + (4 * is2); + png_bytep sp = row + (png_uint_32)((row_info->width - 1) >> 2); + png_bytep dp = row + (png_uint_32)((final_width - 1) >> 2); + int sshift, dshift; + int s_start, s_end, s_inc; + int jstop = png_pass_inc[pass]; png_uint_32 i; - png_byte v; #if defined(PNG_READ_PACKSWAP_SUPPORTED) if (transformations & PNG_PACKSWAP) { - sshift = 6 - sshift; - s_inc = -s_inc; + sshift = (int)(((row_info->width + 3) & 0x03) << 1); + dshift = (int)(((final_width + 3) & 0x03) << 1); + s_start = 6; + s_end = 0; + s_inc = -2; } + else #endif - sshift &= (0x0E - (2 * is2)); - - for (i = (row_info->width + is2) >> is2; - i > 0; i--) { - v = pix[(*sp >> sshift) & smask]; - *dp-- = v; - if (is8) - *dp-- = v; + sshift = (int)((3 - ((row_info->width + 3) & 0x03)) << 1); + dshift = (int)((3 - ((final_width + 3) & 0x03)) << 1); + s_start = 0; + s_end = 6; + s_inc = 2; + } - sshift += s_inc; - if (sshift >= 8) + for (i = 0; i < row_info->width; i++) + { + png_byte v; + int j; + + v = (png_byte)((*sp >> sshift) & 0x03); + for (j = 0; j < jstop; j++) { - sshift -= 8; - sp--; - } - else if (sshift < 0) - { - sshift += 8; + *dp &= (png_byte)((0x3f3f >> (6 - dshift)) & 0xff); + *dp |= (png_byte)(v << dshift); + if (dshift == s_end) + { + dshift = s_start; + dp--; + } + else + dshift += s_inc; + } + if (sshift == s_end) + { + sshift = s_start; sp--; } + else + sshift += s_inc; } break; } @@ -2639,39 +2594,54 @@ png_do_read_interlace(png_structp png_ptr) { png_bytep sp = row + (png_size_t)((row_info->width - 1) >> 1); png_bytep dp = row + (png_size_t)((final_width - 1) >> 1); - int jinit = png_pass_inc[pass] >> 1; - int sshift = (int)((1 - ((row_info->width + 1) & 0x01)) << 2); - int s_inc = 4; + int sshift, dshift; + int s_start, s_end, s_inc; png_uint_32 i; - png_byte v; - int j; + int jstop = png_pass_inc[pass]; #if defined(PNG_READ_PACKSWAP_SUPPORTED) if (transformations & PNG_PACKSWAP) { - sshift = 4 - sshift; - s_inc = -s_inc; + sshift = (int)(((row_info->width + 1) & 0x01) << 2); + dshift = (int)(((final_width + 1) & 0x01) << 2); + s_start = 4; + s_end = 0; + s_inc = -4; } + else #endif - for (i = row_info->width; i > 0; i--) { - v = (*sp >> sshift) & 0x0F; - v |= v << 4; + sshift = (int)((1 - ((row_info->width + 1) & 0x01)) << 2); + dshift = (int)((1 - ((final_width + 1) & 0x01)) << 2); + s_start = 0; + s_end = 4; + s_inc = 4; + } - for (j = jinit; j > 0; j--) - *dp-- = v; + for (i = 0; i < row_info->width; i++) + { + png_byte v = (png_byte)((*sp >> sshift) & 0xf); + int j; - sshift += s_inc; - if (sshift >= 8) + for (j = 0; j < jstop; j++) { - sshift -= 8; - sp--; - } - else if (sshift < 0) - { - sshift += 8; + *dp &= (png_byte)((0xf0f >> (4 - dshift)) & 0xff); + *dp |= (png_byte)(v << dshift); + if (dshift == s_end) + { + dshift = s_start; + dp--; + } + else + dshift += s_inc; + } + if (sshift == s_end) + { + sshift = s_start; sp--; } + else + sshift += s_inc; } break; } @@ -2679,112 +2649,23 @@ png_do_read_interlace(png_structp png_ptr) { png_size_t pixel_bytes = (row_info->pixel_depth >> 3); png_bytep sp = row + (png_size_t)(row_info->width - 1) * pixel_bytes; - png_bytep dp = row + (png_size_t)(final_width - 2) * pixel_bytes; - int jinit = png_pass_inc[pass] >> 1; - png_uint_32 i; - int j; + png_bytep dp = row + (png_size_t)(final_width - 1) * pixel_bytes; - switch (pixel_bytes) + int jstop = png_pass_inc[pass]; + png_uint_32 i; + + for (i = 0; i < row_info->width; i++) { - case 1: - for (i = row_info->width; i > 0; i--) - { - for (j = jinit; j > 0; j--) - { - *(dp + 0) = *(dp + 1) = *(sp + 0); - dp -= 2; - } - sp -= 1; - } - break; - case 2: - for (i = row_info->width; i > 0; i--) - { - for (j = jinit; j > 0; j--) - { - *(dp + 0) = *(dp + 2) = *(sp + 0); - *(dp + 1) = *(dp + 3) = *(sp + 1); - dp -= 4; - } - sp -= 2; - } - break; - case 3: - for (i = row_info->width; i > 0; i--) - { - for (j = jinit; j > 0; j--) - { - *(dp + 0) = *(dp + 3) = *(sp + 0); - *(dp + 1) = *(dp + 4) = *(sp + 1); - *(dp + 2) = *(dp + 5) = *(sp + 2); - dp -= 6; - } - sp -= 3; - } - break; - case 4: - for (i = row_info->width; i > 0; i--) - { - for (j = jinit; j > 0; j--) - { - *(dp + 0) = *(dp + 4) = *(sp + 0); - *(dp + 1) = *(dp + 5) = *(sp + 1); - *(dp + 2) = *(dp + 6) = *(sp + 2); - *(dp + 3) = *(dp + 7) = *(sp + 3); - dp -= 8; - } - sp -= 4; - } - break; - case 6: - for (i = row_info->width; i > 0; i--) - { - for (j = jinit; j > 0; j--) - { - *(dp + 0) = *(dp + 6) = *(sp + 0); - *(dp + 1) = *(dp + 7) = *(sp + 1); - *(dp + 2) = *(dp + 8) = *(sp + 2); - *(dp + 3) = *(dp + 9) = *(sp + 3); - *(dp + 4) = *(dp + 10) = *(sp + 4); - *(dp + 5) = *(dp + 11) = *(sp + 5); - dp -= 12; - } - sp -= 6; - } - break; - case 8: - for (i = row_info->width; i > 0; i--) - { - for (j = jinit; j > 0; j--) - { - *(dp + 0) = *(dp + 8) = *(sp + 0); - *(dp + 1) = *(dp + 9) = *(sp + 1); - *(dp + 2) = *(dp + 10) = *(sp + 2); - *(dp + 3) = *(dp + 11) = *(sp + 3); - *(dp + 4) = *(dp + 12) = *(sp + 4); - *(dp + 5) = *(dp + 13) = *(sp + 5); - *(dp + 6) = *(dp + 14) = *(sp + 6); - *(dp + 7) = *(dp + 15) = *(sp + 7); - dp -= 16; - } - sp -= 8; - } - break; - default: - /*for (i = row_info->width; i > 0; i--) - *{ - * for (j = jinit; j > 0; j--) - * { - * png_size_t k; - * for (k = 0; k < pixel_bytes; k++) - * { - * *(dp + pixel_bytes + k) = *(dp + k) = *(sp + k); - * } - * dp -= (2 * pixel_bytes); - * } - * sp -= pixel_bytes; - *} - */break; + png_byte v[8]; + int j; + + png_memcpy(v, sp, pixel_bytes); + for (j = 0; j < jstop; j++) + { + png_memcpy(dp, v, pixel_bytes); + dp -= pixel_bytes; + } + sp -= pixel_bytes; } break; } diff --git a/pngset.c b/pngset.c index c5781f35a..bf94d06b1 100644 --- a/pngset.c +++ b/pngset.c @@ -1,7 +1,7 @@ /* pngset.c - storage of image information into info struct * - * libpng 1.2.8rc2 - November 26, 2004 + * libpng 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngtest.c b/pngtest.c index dff7f0c29..c9678876f 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1,7 +1,7 @@ /* pngtest.c - a simple test program to test libpng * - * libpng 1.2.8rc2 - November 26, 2004 + * libpng 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -1551,4 +1551,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_8rc2 your_png_h_is_not_version_1_2_8rc2; +typedef version_1_2_8rc3 your_png_h_is_not_version_1_2_8rc3; diff --git a/pngtrans.c b/pngtrans.c index b2c58c734..936a46d6a 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.2.8rc2 - November 26, 2004 + * libpng 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngvcrd.c b/pngvcrd.c index 95c860ede..253019e66 100644 --- a/pngvcrd.c +++ b/pngvcrd.c @@ -2,7 +2,7 @@ * * For Intel x86 CPU and Microsoft Visual C++ compiler * - * libpng version 1.2.8rc2 - November 26, 2004 + * libpng version 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * Copyright (c) 1998, Intel Corporation diff --git a/pngwio.c b/pngwio.c index 155888e89..f66351389 100644 --- a/pngwio.c +++ b/pngwio.c @@ -1,7 +1,7 @@ /* pngwio.c - functions for data output * - * libpng 1.2.8rc2 - November 26, 2004 + * libpng 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwrite.c b/pngwrite.c index a01e7680f..a2eae2ac4 100644 --- a/pngwrite.c +++ b/pngwrite.c @@ -1,7 +1,7 @@ /* pngwrite.c - general routines to write a PNG file * - * libpng 1.2.8rc2 - November 26, 2004 + * libpng 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwtran.c b/pngwtran.c index a0602f5b7..38ec94d57 100644 --- a/pngwtran.c +++ b/pngwtran.c @@ -1,7 +1,7 @@ /* pngwtran.c - transforms the data in a row for PNG writers * - * libpng version 1.2.8rc2 - November 26, 2004 + * libpng version 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/pngwutil.c b/pngwutil.c index 351ab519a..a35484dc0 100644 --- a/pngwutil.c +++ b/pngwutil.c @@ -1,7 +1,7 @@ /* pngwutil.c - utilities to write a PNG file * - * libpng version 1.2.8rc2 - November 26, 2004 + * libpng version 1.2.8rc3 - November 28, 2004 * For conditions of distribution and use, see copyright notice in png.h * Copyright (c) 1998-2004 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in index 3205b0717..9c0502fc8 100755 --- a/scripts/libpng-config-head.in +++ b/scripts/libpng-config-head.in @@ -8,7 +8,7 @@ # Modeled after libxml-config. -version=1.2.8rc2 +version=1.2.8rc3 prefix="" libdir="" libs="" diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in index 9381a388e..f92902155 100644 --- a/scripts/libpng.pc.in +++ b/scripts/libpng.pc.in @@ -6,6 +6,6 @@ includedir=${exec_prefix}/include Name: libpng12 Description: Loads and saves PNG files -Version: 1.2.8rc2 +Version: 1.2.8rc3 Libs: -L${libdir} -lpng12 -lz -lm Cflags: -I${includedir}/libpng12 diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu index 4256cb4b5..f505f1683 100644 --- a/scripts/makefile.32sunu +++ b/scripts/makefile.32sunu @@ -33,7 +33,7 @@ RANLIB=echo LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu index 6933cbb4c..da84a3bbf 100644 --- a/scripts/makefile.64sunu +++ b/scripts/makefile.64sunu @@ -33,7 +33,7 @@ RANLIB=echo LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) INCPATH=$(prefix)/include diff --git a/scripts/makefile.aix b/scripts/makefile.aix index 57365dbac..f38a2b4c4 100644 --- a/scripts/makefile.aix +++ b/scripts/makefile.aix @@ -18,7 +18,7 @@ RM = rm -f LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) prefix=/usr/local diff --git a/scripts/makefile.beos b/scripts/makefile.beos index efa1f1682..89f6c276b 100644 --- a/scripts/makefile.beos +++ b/scripts/makefile.beos @@ -12,7 +12,7 @@ ZLIBLIB=/usr/local/lib ZLIBINC=/usr/local/include PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) ALIGN= diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin index 83b6bf4de..f5bb4e7d7 100644 --- a/scripts/makefile.cygwin +++ b/scripts/makefile.cygwin @@ -79,7 +79,7 @@ CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \ LIBNAME = libpng12 PNGMAJ = 0 CYGDLL = 12 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) SHAREDLIB=cygpng$(CYGDLL).dll diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin index b0b3a2ae8..5d11d0c14 100644 --- a/scripts/makefile.darwin +++ b/scripts/makefile.darwin @@ -23,7 +23,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz RANLIB=ranlib PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.dec b/scripts/makefile.dec index 31958ac27..34ff3efd1 100644 --- a/scripts/makefile.dec +++ b/scripts/makefile.dec @@ -32,7 +32,7 @@ ZLIBLIB=../zlib ZLIBINC=../zlib PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.elf b/scripts/makefile.elf new file mode 100644 index 000000000..c2df4356c --- /dev/null +++ b/scripts/makefile.elf @@ -0,0 +1,249 @@ +# makefile for libpng.a and libpng12.so on Linux ELF with gcc +# Copyright (C) 1998, 1999, 2002 Greg Roelofs and Glenn Randers-Pehrson +# Copyright (C) 1996, 1997 Andreas Dilger +# For conditions of distribution and use, see copyright notice in png.h + +LIBNAME = libpng12 +PNGMAJ = 0 +PNGMIN = 1.2.8rc3 +PNGVER = $(PNGMAJ).$(PNGMIN) + +CC=gcc + +# where "make install" puts libpng12.a, libpng12.so*, +# libpng12/png.h and libpng12/pngconf.h +# Prefix must be a full pathname. +prefix=/usr/local + +# Where the zlib library and include files are located. +#ZLIBLIB=/usr/local/lib +#ZLIBINC=/usr/local/include +ZLIBLIB=../zlib +ZLIBINC=../zlib + +ALIGN= +# for i386: +#ALIGN=-malign-loops=2 -malign-functions=2 + +WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \ + -Wmissing-declarations -Wtraditional -Wcast-align \ + -Wstrict-prototypes -Wmissing-prototypes #-Wconversion + +# for pgcc version 2.95.1, -O3 is buggy; don't use it. + +CFLAGS=-I$(ZLIBINC) -Wall -O3 -funroll-loops \ + $(ALIGN) # $(WARNMORE) -g -DPNG_DEBUG=5 + +LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng12 -lz -lm +LDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lm + +RANLIB=ranlib +#RANLIB=echo + +INCPATH=$(prefix)/include +LIBPATH=$(prefix)/lib +MANPATH=$(prefix)/man +BINPATH=$(prefix)/bin + +# override DESTDIR= on the make install command line to easily support +# installing into a temporary location. Example: +# +# make install DESTDIR=/tmp/build/libpng +# +# If you're going to install into a temporary location +# via DESTDIR, $(DESTDIR)$(prefix) must already exist before +# you execute make install. +DESTDIR= + +DB=$(DESTDIR)$(BINPATH) +DI=$(DESTDIR)$(INCPATH) +DL=$(DESTDIR)$(LIBPATH) +DM=$(DESTDIR)$(MANPATH) + +OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ + pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ + pngwtran.o pngmem.o pngerror.o pngpread.o + +OBJSDLL = $(OBJS:.o=.pic.o) + +.SUFFIXES: .c .o .pic.o + +.c.pic.o: + $(CC) -c $(CFLAGS) -fPIC -o $@ $*.c + +all: libpng.a $(LIBNAME).so pngtest pngtest-static libpng.pc libpng-config + +libpng.a: $(OBJS) + ar rc $@ $(OBJS) + $(RANLIB) $@ + +libpng.pc: + cat scripts/libpng.pc.in | sed -e s\!@PREFIX@!$(prefix)! > libpng.pc + +libpng.syms: png.h pngconf.h + $(CC) $(CFLAGS) -E -DPNG_BUILDSYMS png.h |\ + awk -F '[\t [\]();]' 'BEGIN{print "{global:"}\ + { for (i=1;i+2<=NF;++i)\ + if ($$(i)=="PNG_FUNCTION_EXPORT" && $$(i+2)=="END")\ + print $$(i+1) ";";\ + for (i=1;i+1<=NF;++i)\ + if ($$(i)=="PNG_DATA_EXPORT")\ + print $$(i+1) ";";}\ + END{print "local: *; };"}' >$@.new + rm -f $@ + mv $@.new $@ + +libpng-config: + ( cat scripts/libpng-config-head.in; \ + echo prefix=\"$(prefix)\"; \ + echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \ + echo L_opts=\"-L$(LIBPATH)\"; \ + echo R_opts=\"-Wl,-rpath,$(LIBPATH)\"; \ + echo libs=\"-lpng12 -lz -lm\"; \ + cat scripts/libpng-config-body.in ) > libpng-config + chmod +x libpng-config + +$(LIBNAME).so: $(LIBNAME).so.$(PNGMAJ) + ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so + +$(LIBNAME).so.$(PNGMAJ): $(LIBNAME).so.$(PNGVER) + ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ) + +$(LIBNAME).so.$(PNGVER): $(OBJSDLL) libpng.syms + $(CC) -shared -Wl,-soname,$(LIBNAME).so.$(PNGMAJ) \ + -Wl,-version-script,libpng.syms \ + -o $(LIBNAME).so.$(PNGVER) \ + $(OBJSDLL) + +libpng.so.3.$(PNGMIN): $(OBJSDLL) libpng.syms + $(CC) -shared -Wl,-soname,libpng.so.3 \ + -Wl,-version-script,libpng.syms \ + -o libpng.so.3.$(PNGMIN) \ + $(OBJSDLL) + +pngtest: pngtest.o $(LIBNAME).so + $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS) + +pngtest-static: pngtest.o libpng.a + $(CC) -o pngtest-static $(CFLAGS) pngtest.o $(LDFLAGS_A) + +test: pngtest pngtest-static + @echo "" + @echo " Running pngtest dynamically linked with $(LIBNAME).so:" + @echo "" + ./pngtest + @echo "" + @echo " Running pngtest statically linked with libpng.a:" + @echo "" + ./pngtest-static + +install-headers: png.h pngconf.h + -@if [ ! -d $(DI) ]; then mkdir $(DI); fi + -@if [ ! -d $(DI)/$(LIBNAME) ]; then mkdir $(DI)/$(LIBNAME); fi + cp png.h pngconf.h $(DI)/$(LIBNAME) + chmod 644 $(DI)/$(LIBNAME)/png.h $(DI)/$(LIBNAME)/pngconf.h + -@/bin/rm -f $(DI)/png.h $(DI)/pngconf.h + -@/bin/rm -f $(DI)/libpng + (cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .) + +install-static: install-headers libpng.a + -@if [ ! -d $(DL) ]; then mkdir $(DL); fi + cp libpng.a $(DL)/$(LIBNAME).a + chmod 644 $(DL)/$(LIBNAME).a + -@/bin/rm -f $(DL)/libpng.a + (cd $(DL); ln -sf $(LIBNAME).a libpng.a) + +install-shared: install-headers $(LIBNAME).so.$(PNGVER) libpng.pc \ + libpng.so.3.$(PNGMIN) + -@if [ ! -d $(DL) ]; then mkdir $(DL); fi + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGVER)* $(DL)/$(LIBNAME).so + -@/bin/rm -f $(DL)/$(LIBNAME).so.$(PNGMAJ) + -@/bin/rm -f $(DL)/libpng.so + -@/bin/rm -f $(DL)/libpng.so.3 + -@/bin/rm -f $(DL)/libpng.so.3.$(PNGMIN)* + cp $(LIBNAME).so.$(PNGVER) $(DL) + cp libpng.so.3.$(PNGMIN) $(DL) + chmod 755 $(DL)/$(LIBNAME).so.$(PNGVER) + chmod 755 $(DL)/libpng.so.3.$(PNGMIN) + (cd $(DL); \ + ln -sf libpng.so.3.$(PNGMIN) libpng.so.3; \ + ln -sf libpng.so.3 libpng.so; \ + ln -sf $(LIBNAME).so.$(PNGVER) $(LIBNAME).so.$(PNGMAJ); \ + ln -sf $(LIBNAME).so.$(PNGMAJ) $(LIBNAME).so) + -@if [ ! -d $(DL)/pkgconfig ]; then mkdir $(DL)/pkgconfig; fi + -@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc + -@/bin/rm -f $(DL)/pkgconfig/libpng.pc + cp libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc + chmod 644 $(DL)/pkgconfig/$(LIBNAME).pc + (cd $(DL)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc) + +install-man: libpng.3 libpngpf.3 png.5 + -@if [ ! -d $(DM) ]; then mkdir $(DM); fi + -@if [ ! -d $(DM)/man3 ]; then mkdir $(DM)/man3; fi + -@/bin/rm -f $(DM)/man3/libpng.3 + -@/bin/rm -f $(DM)/man3/libpngpf.3 + cp libpng.3 $(DM)/man3 + cp libpngpf.3 $(DM)/man3 + -@if [ ! -d $(DM)/man5 ]; then mkdir $(DM)/man5; fi + -@/bin/rm -f $(DM)/man5/png.5 + cp png.5 $(DM)/man5 + +install-config: libpng-config + -@if [ ! -d $(DB) ]; then mkdir $(DB); fi + -@/bin/rm -f $(DB)/libpng-config + -@/bin/rm -f $(DB)/$(LIBNAME)-config + cp libpng-config $(DB)/$(LIBNAME)-config + chmod 755 $(DB)/$(LIBNAME)-config + (cd $(DB); ln -sf $(LIBNAME)-config libpng-config) + +install: install-static install-shared install-man install-config + +# If you installed in $(DESTDIR), test-installed won't work until you +# move the library to its final location. Use test-dd to test it +# before then. + +test-dd: + echo + echo Testing installed dynamic shared library in $(DL). + $(CC) -I$(DI) -I$(ZLIBINC) \ + `$(BINPATH)/libpng12-config --cflags` pngtest.c \ + -L$(DL) -L$(ZLIBLIB) -W1, -rpath,$(DL) -Wl,-rpath,$(ZLIBLIB) \ + -o pngtestd `$(BINPATH)/libpng12-config --ldflags` + ./pngtestd pngtest.png + +test-installed: + $(CC) -I$(ZLIBINC) \ + `$(BINPATH)/libpng12-config --cflags` pngtest.c \ + -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \ + -o pngtesti `$(BINPATH)/libpng12-config --ldflags` + ./pngtesti pngtest.png + +clean: + /bin/rm -f *.o libpng.a libpng.syms pngtest pngout.png libpng-config \ + $(LIBNAME).so $(LIBNAME).so.$(PNGMAJ)* pngtest-static pngtesti \ + libpng.so.3.$(PNGMIN) \ + libpng.pc + +DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO +writelock: + chmod a-w *.[ch35] $(DOCS) scripts/* + +# DO NOT DELETE THIS LINE -- make depend depends on it. + +png.o png.pic.o: png.h pngconf.h +pngerror.o pngerror.pic.o: png.h pngconf.h +pngrio.o pngrio.pic.o: png.h pngconf.h +pngwio.o pngwio.pic.o: png.h pngconf.h +pngmem.o pngmem.pic.o: png.h pngconf.h +pngset.o pngset.pic.o: png.h pngconf.h +pngget.o pngget.pic.o: png.h pngconf.h +pngread.o pngread.pic.o: png.h pngconf.h +pngrtran.o pngrtran.pic.o: png.h pngconf.h +pngrutil.o pngrutil.pic.o: png.h pngconf.h +pngtrans.o pngtrans.pic.o: png.h pngconf.h +pngwrite.o pngwrite.pic.o: png.h pngconf.h +pngwtran.o pngwtran.pic.o: png.h pngconf.h +pngwutil.o pngwutil.pic.o: png.h pngconf.h +pngpread.o pngpread.pic.o: png.h pngconf.h + +pngtest.o: png.h pngconf.h diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx index 731b670ef..86e937835 100644 --- a/scripts/makefile.gcmmx +++ b/scripts/makefile.gcmmx @@ -15,7 +15,7 @@ LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) CC=gcc diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64 index fdb599a8b..5e88ed6fb 100644 --- a/scripts/makefile.hp64 +++ b/scripts/makefile.hp64 @@ -27,7 +27,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm RANLIB=ranlib PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc index e267eb7a7..df8c56cc8 100644 --- a/scripts/makefile.hpgcc +++ b/scripts/makefile.hpgcc @@ -41,7 +41,7 @@ RANLIB=ranlib #RANLIB=echo PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux index f792992cb..0801c6475 100644 --- a/scripts/makefile.hpux +++ b/scripts/makefile.hpux @@ -24,7 +24,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lz -lm RANLIB=ranlib PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.linux b/scripts/makefile.linux index 3e62ae224..46a6c47e8 100644 --- a/scripts/makefile.linux +++ b/scripts/makefile.linux @@ -5,7 +5,7 @@ LIBNAME = libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) CC=gcc diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd index ac230fb42..032006241 100644 --- a/scripts/makefile.ne12bsd +++ b/scripts/makefile.ne12bsd @@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng12 LIB= png12 SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.2.8rc2 +SHLIB_MINOR= 1.2.8rc3 SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \ pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \ pngwtran.c pngmem.c pngerror.c pngpread.c diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd index 6115ea612..98b97477a 100644 --- a/scripts/makefile.netbsd +++ b/scripts/makefile.netbsd @@ -13,7 +13,7 @@ INCSDIR=${LOCALBASE}/include/libpng LIB= png SHLIB_MAJOR= 3 -SHLIB_MINOR= 1.2.8rc2 +SHLIB_MINOR= 1.2.8rc3 SRCS= pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \ pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \ pngwtran.c pngmem.c pngerror.c pngpread.c diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd index 967705098..60f2a51cc 100644 --- a/scripts/makefile.openbsd +++ b/scripts/makefile.openbsd @@ -7,7 +7,7 @@ LIBDIR= ${PREFIX}/lib MANDIR= ${PREFIX}/man/cat SHLIB_MAJOR= 0 -SHLIB_MINOR= 1.2.8rc2 +SHLIB_MINOR= 1.2.8rc3 LIB= png SRCS= png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \ diff --git a/scripts/makefile.sco b/scripts/makefile.sco index 3d61e8fe2..4aa341be9 100644 --- a/scripts/makefile.sco +++ b/scripts/makefile.sco @@ -24,7 +24,7 @@ LDFLAGS=-L. -L$(ZLIBLIB) -lpng12 -lz -lm RANLIB=echo PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc index 49a47e49f..10c41aee7 100644 --- a/scripts/makefile.sggcc +++ b/scripts/makefile.sggcc @@ -18,7 +18,7 @@ ZLIBINC=../zlib LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) CC=gcc diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi index 8317ec0d3..bf1abeaab 100644 --- a/scripts/makefile.sgi +++ b/scripts/makefile.sgi @@ -5,7 +5,7 @@ LIBNAME=libpng12 PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) # Where make install puts libpng.a, libpng12.so, and libpng12/png.h diff --git a/scripts/makefile.so9 b/scripts/makefile.so9 index a4a2ef468..c74a9b06e 100644 --- a/scripts/makefile.so9 +++ b/scripts/makefile.so9 @@ -34,7 +34,7 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm RANLIB=echo PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris index ecbcf995e..eee14cfe6 100644 --- a/scripts/makefile.solaris +++ b/scripts/makefile.solaris @@ -30,7 +30,7 @@ LDFLAGS=-L. -R. -L$(ZLIBLIB) -R$(ZLIBLIB) -lpng12 -lz -lm RANLIB=echo PNGMAJ = 0 -PNGMIN = 1.2.8rc2 +PNGMIN = 1.2.8rc3 PNGVER = $(PNGMAJ).$(PNGMIN) LIBNAME = libpng12 diff --git a/scripts/pngos2.def b/scripts/pngos2.def index 59ae31461..ca1766078 100644 --- a/scripts/pngos2.def +++ b/scripts/pngos2.def @@ -2,7 +2,7 @@ ; PNG.LIB module definition file for OS/2 ;---------------------------------------- -; Version 1.2.8rc2 +; Version 1.2.8rc3 LIBRARY PNG DESCRIPTION "PNG image compression library for OS/2" diff --git a/scripts/pngw32.def b/scripts/pngw32.def index 1c3ddfd53..7acf13ce9 100644 --- a/scripts/pngw32.def +++ b/scripts/pngw32.def @@ -6,7 +6,7 @@ LIBRARY DESCRIPTION "PNG image compression library for Windows" EXPORTS -;Version 1.2.8rc2 +;Version 1.2.8rc3 png_build_grayscale_palette @1 png_check_sig @2 png_chunk_error @3