From a63dbedeada17c82f6550bd0296d22ed617f3243 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sat, 22 Jan 2011 08:51:19 -0600 Subject: [PATCH] [devel] Added png_get_io_chunk_type() and deprecated png_get_io_chunk_name() --- ANNOUNCE | 24 +++++++++++++++--------- CHANGES | 7 ++++++- libpng-manual.txt | 8 ++++---- libpng.3 | 26 +++++++++++++++++++------- png.h | 21 ++++++++++++--------- pngget.c | 9 +++++++++ 6 files changed, 65 insertions(+), 30 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 1a7cba52f..0c317bdb5 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.5.1beta07 - January 22, 2011 +Libpng 1.5.1beta08 - January 22, 2011 This is not intended to be a public release. It will be replaced within a few weeks by a public version or by another test version. @@ -9,20 +9,20 @@ Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script - 1.5.1beta07.tar.xz (LZMA-compressed, recommended) - 1.5.1beta07.tar.gz - 1.5.1beta07.tar.bz2 + 1.5.1beta08.tar.xz (LZMA-compressed, recommended) + 1.5.1beta08.tar.gz + 1.5.1beta08.tar.bz2 Source files with CRLF line endings (for Windows), without the "configure" script - lp151b07.7z (LZMA-compressed, recommended) - lp151b07.zip + lp151b08.7z (LZMA-compressed, recommended) + lp151b08.zip Other information: - 1.5.1beta07-README.txt - 1.5.1beta07-LICENSE.txt + 1.5.1beta08-README.txt + 1.5.1beta08-LICENSE.txt Changes since the last public release (1.5.0): @@ -65,11 +65,17 @@ Version 1.5.1beta06 [January 20, 2011] Revised png_fixed() in png.c to avoid compiler warning about reaching the end without returning anything. -Version 1.5.1rc01 [January 22, 2011] +Version 1.5.1beta07 [January 22, 2011] In the manual, describe the png_get_IHDR() arguments in the correct order. Added const_png_structp and const_png_infop types, and used them in prototypes for most png_get_*() functions. +Version 1.5.1beta08 [January 22, 2011] + Added png_get_io_chunk_type() and deprecated png_get_io_chunk_name() + +Version 1.5.1rc01 [January 22, 2011] + + Send comments/corrections/commendations to png-mng-implement at lists.sf.net: (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/CHANGES b/CHANGES index f9c8d2a7b..202806fa7 100644 --- a/CHANGES +++ b/CHANGES @@ -3181,11 +3181,16 @@ Version 1.5.1beta06 [January 20, 2011] Revised png_fixed() in png.c to avoid compiler warning about reaching the end without returning anything. -Version 1.5.1rc01 [January 22, 2011] +Version 1.5.1beta07 [January 22, 2011] In the manual, describe the png_get_IHDR() arguments in the correct order. Added const_png_structp and const_png_infop types, and used them in prototypes for most png_get_*() functions. +Version 1.5.1beta08 [January 22, 2011] + Added png_get_io_chunk_type() and deprecated png_get_io_chunk_name() + +Version 1.5.1rc01 [January 22, 2011] + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/libpng-manual.txt b/libpng-manual.txt index 62809ca84..b34ffcc13 100644 --- a/libpng-manual.txt +++ b/libpng-manual.txt @@ -1,6 +1,6 @@ libpng-manual.txt - A description on how to use and modify libpng - libpng version 1.5.1beta07 - January 22, 2011 + libpng version 1.5.1beta08 - January 22, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.5.1beta07 - January 22, 2011 + libpng versions 0.97, January 1998, through 1.5.1beta08 - January 22, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -1171,7 +1171,7 @@ things. As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was added. It expands the sample depth without changing tRNS to alpha. -As of libpng version 1.5.1beta07, not all possible expansions are supported. +As of libpng version 1.5.1beta08, not all possible expansions are supported. In the following table, the 01 means grayscale with depth<8, 31 means indexed with depth<8, other numerals represent the color type, "T" means @@ -4044,7 +4044,7 @@ Since the PNG Development group is an ad-hoc body, we can't make an official declaration. This is your unofficial assurance that libpng from version 0.71 and -upward through 1.5.1beta07 are Y2K compliant. It is my belief that earlier +upward through 1.5.1beta08 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has three year fields. One is a 2-byte unsigned integer that diff --git a/libpng.3 b/libpng.3 index 0cca06a35..3b7854e2f 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ .TH LIBPNG 3 "January 22, 2011" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.5.1beta07 +libpng \- Portable Network Graphics (PNG) Reference Library 1.5.1beta08 .SH SYNOPSIS \fI\fB @@ -184,10 +184,22 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.5.1beta07 \fI\fB +\fBpng_uint_32 png_get_io_chunk_type (const_png_structp \fIpng_ptr\fP\fB);\fP + +\fI\fB + \fBpng_voidp png_get_io_ptr (png_structp \fIpng_ptr\fP\fB);\fP \fI\fB +\fBpng_uint_32 png_get_io_state (png_structp \fIpng_ptr\fP\fB);\fP + +\fI\fB + +\fBpng_const_bytep png_get_io_chunk_name (png_structp \fIpng_ptr\fP\fB);\fP + +\fI\fB + \fBpng_byte png_get_libpng_ver (const_png_structp \fIpng_ptr\fP\fB);\fP \fI\fB @@ -851,7 +863,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng. .SH LIBPNG.TXT libpng-manual.txt - A description on how to use and modify libpng - libpng version 1.5.1beta07 - January 22, 2011 + libpng version 1.5.1beta08 - January 22, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -862,7 +874,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.5.1beta07 - January 22, 2011 + libpng versions 0.97, January 1998, through 1.5.1beta08 - January 22, 2011 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2011 Glenn Randers-Pehrson @@ -2022,7 +2034,7 @@ things. As of libpng version 1.2.9, png_set_expand_gray_1_2_4_to_8() was added. It expands the sample depth without changing tRNS to alpha. -As of libpng version 1.5.1beta07, not all possible expansions are supported. +As of libpng version 1.5.1beta08, not all possible expansions are supported. In the following table, the 01 means grayscale with depth<8, 31 means indexed with depth<8, other numerals represent the color type, "T" means @@ -4895,7 +4907,7 @@ Since the PNG Development group is an ad-hoc body, we can't make an official declaration. This is your unofficial assurance that libpng from version 0.71 and -upward through 1.5.1beta07 are Y2K compliant. It is my belief that earlier +upward through 1.5.1beta08 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 @@ -5135,7 +5147,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.5.1beta07 - January 22, 2011: +Libpng version 1.5.1beta08 - January 22, 2011: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -5158,7 +5170,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.2.6, August 15, 2004, through 1.5.1beta07, January 22, 2011, are +libpng versions 1.2.6, August 15, 2004, through 1.5.1beta08, January 22, 2011, are Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are distributed according to the same disclaimer and license as libpng-1.2.5 with the following individual added to the list of Contributing Authors diff --git a/png.h b/png.h index 4ad8c204b..930b8903a 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.5.1beta07 - January 22, 2011 + * libpng version 1.5.1beta08 - January 22, 2011 * Copyright (c) 1998-2011 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) @@ -11,7 +11,7 @@ * Authors and maintainers: * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.5.1beta07 - January 22, 2011: Glenn + * libpng versions 0.97, January 1998, through 1.5.1beta08 - January 22, 2011: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -176,7 +176,7 @@ * * This code is released under the libpng license. * - * libpng versions 1.2.6, August 15, 2004, through 1.5.1beta07, January 22, 2011, are + * libpng versions 1.2.6, August 15, 2004, through 1.5.1beta08, January 22, 2011, are * Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are * distributed according to the same disclaimer and license as libpng-1.2.5 * with the following individual added to the list of Contributing Authors: @@ -294,7 +294,7 @@ * an official declaration. * * This is your unofficial assurance that libpng from version 0.71 and - * upward through 1.5.1beta07 are Y2K compliant. It is my belief that + * upward through 1.5.1beta08 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 @@ -350,9 +350,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.5.1beta07" +#define PNG_LIBPNG_VER_STRING "1.5.1beta08" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.5.1beta07 - January 22, 2011\n" + " libpng version 1.5.1beta08 - January 22, 2011\n" #define PNG_LIBPNG_VER_SONUM 15 #define PNG_LIBPNG_VER_DLLNUM 15 @@ -365,7 +365,7 @@ * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ -#define PNG_LIBPNG_VER_BUILD 07 +#define PNG_LIBPNG_VER_BUILD 08 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -507,7 +507,7 @@ extern "C" { /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef char* png_libpng_version_1_5_1beta07; +typedef char* png_libpng_version_1_5_1beta08; /* Three color definitions. The order of the red, green, and blue, (and the * exact size) is not important, although the size of the fields need to @@ -2063,7 +2063,10 @@ PNG_EXPORT(198, png_uint_32, png_get_pHYs_dpi, (const_png_structp png_ptr, #ifdef PNG_IO_STATE_SUPPORTED PNG_EXPORT(199, png_uint_32, png_get_io_state, (png_structp png_ptr)); -PNG_EXPORT(200, png_const_bytep, png_get_io_chunk_name, (png_structp png_ptr)); +PNG_EXPORTA(200, png_const_bytep, png_get_io_chunk_name, + (png_structp png_ptr), PNG_DEPRECATED); +PNG_EXPORT(200, png_uint_32, png_get_io_chunk_type, + (const_png_structp png_ptr)); /* The flags returned by png_get_io_state() are the following: */ # define PNG_IO_NONE 0x0000 /* no I/O at this moment */ diff --git a/pngget.c b/pngget.c index 460f4dc04..638f6742b 100644 --- a/pngget.c +++ b/pngget.c @@ -1013,6 +1013,15 @@ png_get_io_state (png_structp png_ptr) return png_ptr->io_state; } +png_uint_32 PNGAPI +png_get_io_chunk_type (const_png_structp png_ptr) +{ + return ((png_ptr->chunk_name[0] << 24) + + (png_ptr->chunk_name[1] << 16) + + (png_ptr->chunk_name[2] << 8) + + (png_ptr->chunk_name[3])); +} + png_const_bytep PNGAPI png_get_io_chunk_name (png_structp png_ptr) {