From 3fa1df48a1c14d3004733471ce7fbce916750911 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Wed, 2 Aug 2017 17:27:41 -0500 Subject: [PATCH] [libpng16] Removed png_get_eXIf_1() and png_set_eXIf_1(). --- ANNOUNCE | 19 +++++++++++-------- CHANGES | 3 +++ libpng-manual.txt | 10 +++------- libpng.3 | 20 ++++++-------------- png.h | 22 +++++++++------------- pngget.c | 9 --------- pngrutil.c | 2 +- pngset.c | 12 ++---------- pngtest.c | 7 ++++--- scripts/symbols.def | 4 +--- 10 files changed, 40 insertions(+), 68 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 79d6445f8..b9565664e 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ -Libpng 1.6.32beta05 - August 2, 2017 +Libpng 1.6.32beta06 - August 2, 2017 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. @@ -8,20 +8,20 @@ Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script - 1.6.32beta05.tar.xz (LZMA-compressed, recommended) - 1.6.32beta05.tar.gz + 1.6.32beta06.tar.xz (LZMA-compressed, recommended) + 1.6.32beta06.tar.gz Source files with CRLF line endings (for Windows), without the "configure" script - lp1632b05.7z (LZMA-compressed, recommended) - lp1632b05.zip + lp1632b06.7z (LZMA-compressed, recommended) + lp1632b06.zip Other information: - 1.6.32beta05-README.txt - 1.6.32beta05-LICENSE.txt - libpng-1.6.32beta05-*.asc (armored detached GPG signatures) + 1.6.32beta06-README.txt + 1.6.32beta06-LICENSE.txt + libpng-1.6.32beta06-*.asc (armored detached GPG signatures) Changes since the last public release (1.6.31): @@ -51,6 +51,9 @@ Version 1.6.32beta04 [August 2, 2017] Version 1.6.32beta05 [August 2, 2017] Restored png_get_eXIf() and png_set_eXIf() to maintain API compatability. +Version 1.6.32beta06 [August 2, 2017] + Removed png_get_eXIf_1() and png_set_eXIf_1(). + 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 d6b3e2436..6680099d1 100644 --- a/CHANGES +++ b/CHANGES @@ -5934,6 +5934,9 @@ Version 1.6.32beta04 [August 2, 2017] Version 1.6.32beta05 [August 2, 2017] Restored png_get_eXIf() and png_set_eXIf() to maintain API compatability. +Version 1.6.32beta06 [August 2, 2017] + Removed png_get_eXIf_1() and png_set_eXIf_1(). + 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 b3aa92328..5693c1ec7 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.6.32beta05 - August 2, 2017 + libpng version 1.6.32beta06 - August 2, 2017 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2017 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.6.32beta05 - August 2, 2017 + libpng versions 0.97, January 1998, through 1.6.32beta06 - August 2, 2017 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2017 Glenn Randers-Pehrson @@ -1454,8 +1454,6 @@ png_set_rgb_to_gray()). non-paletted images (PNG_INFO_tRNS) png_get_eXIf(png_ptr, info_ptr, &exif); - - png_get_eXIf_1(png_ptr, info_ptr, &num_exif, &exif); (PNG_INFO_eXIf) exif - Exif profile (array of png_byte) @@ -3107,8 +3105,6 @@ width, height, bit_depth, and color_type must be the same in each call. png_set_eXIf(png_ptr, info_ptr, exif); - png_set_eXIf_1(png_ptr, info_ptr, num_exif, exif); - exif - Exif profile (array of png_byte) (PNG_INFO_eXIf) @@ -5408,7 +5404,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.6.32beta05 are Y2K compliant. It is my belief that earlier +upward through 1.6.32beta06 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has two year fields. One is a 2-byte unsigned integer diff --git a/libpng.3 b/libpng.3 index e1bfe9cad..8e6766f9a 100644 --- a/libpng.3 +++ b/libpng.3 @@ -1,6 +1,6 @@ .TH LIBPNG 3 "August 2, 2017" .SH NAME -libpng \- Portable Network Graphics (PNG) Reference Library 1.6.32beta05 +libpng \- Portable Network Graphics (PNG) Reference Library 1.6.32beta06 .SH SYNOPSIS \fB #include \fP @@ -99,8 +99,6 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.6.32beta05 \fBpng_uint_32 png_get_eXIf (png_const_structp \fP\fIpng_ptr\fP\fB, png_const_infop \fP\fIinfo_ptr\fP\fB, png_bytep \fI*exif\fP\fB);\fP -\fBpng_uint_32 png_get_eXIf_1 (png_const_structp \fP\fIpng_ptr\fP\fB, png_const_infop \fP\fIinfo_ptr\fP\fB, png_uint_32 \fP\fInum_exif\fP\fB, png_bytep \fI*exif\fP\fB);\fP - \fBpng_uint_32 png_get_hIST (png_const_structp \fP\fIpng_ptr\fP\fB, png_const_infop \fP\fIinfo_ptr\fP\fB, png_uint_16p \fI*hist\fP\fB);\fP \fBpng_uint_32 png_get_iCCP (png_const_structp \fP\fIpng_ptr\fP\fB, png_const_infop \fP\fIinfo_ptr\fP\fB, png_charpp \fP\fIname\fP\fB, int \fP\fI*compression_type\fP\fB, png_bytepp \fP\fIprofile\fP\fB, png_uint_32 \fI*proflen\fP\fB);\fP @@ -353,8 +351,6 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.6.32beta05 \fBvoid png_set_eXIf (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_bytep \fIexif\fP\fB);\fP -\fBvoid png_set_eXIf_1 (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_uint_32 \fP\fInum_exif\fP\fB, png_bytep \fIexif\fP\fB);\fP - \fBvoid png_set_hIST (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_uint_16p \fIhist\fP\fB);\fP \fBvoid png_set_iCCP (png_structp \fP\fIpng_ptr\fP\fB, png_infop \fP\fIinfo_ptr\fP\fB, png_const_charp \fP\fIname\fP\fB, int \fP\fIcompression_type\fP\fB, png_const_bytep \fP\fIprofile\fP\fB, png_uint_32 \fIproflen\fP\fB);\fP @@ -518,7 +514,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.6.32beta05 - August 2, 2017 + libpng version 1.6.32beta06 - August 2, 2017 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2017 Glenn Randers-Pehrson @@ -529,7 +525,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.6.32beta05 - August 2, 2017 + libpng versions 0.97, January 1998, through 1.6.32beta06 - August 2, 2017 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2017 Glenn Randers-Pehrson @@ -1972,8 +1968,6 @@ png_set_rgb_to_gray()). non-paletted images (PNG_INFO_tRNS) png_get_eXIf(png_ptr, info_ptr, &exif); - - png_get_eXIf_1(png_ptr, info_ptr, &num_exif, &exif); (PNG_INFO_eXIf) exif - Exif profile (array of png_byte) @@ -3625,8 +3619,6 @@ width, height, bit_depth, and color_type must be the same in each call. png_set_eXIf(png_ptr, info_ptr, exif); - png_set_eXIf_1(png_ptr, info_ptr, num_exif, exif); - exif - Exif profile (array of png_byte) (PNG_INFO_eXIf) @@ -5926,7 +5918,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.6.32beta05 are Y2K compliant. It is my belief that earlier +upward through 1.6.32beta06 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has two year fields. One is a 2-byte unsigned integer @@ -6084,7 +6076,7 @@ possible without all of you. Thanks to Frank J. T. Wojcik for helping with the documentation. -Libpng version 1.6.32beta05 - August 2, 2017: +Libpng version 1.6.32beta06 - August 2, 2017: Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc. Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net). @@ -6109,7 +6101,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.0.7, July 1, 2000 through 1.6.32beta05, August 2, 2017 are +libpng versions 1.0.7, July 1, 2000 through 1.6.32beta06, August 2, 2017 are Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are derived from libpng-1.0.6, and are distributed according to the same disclaimer and license as libpng-1.0.6 with the following individuals diff --git a/png.h b/png.h index 63cc603e5..ae0c27e8e 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.6.32beta05, August 2, 2017 + * libpng version 1.6.32beta06, August 2, 2017 * * Copyright (c) 1998-2002,2004,2006-2017 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -12,7 +12,7 @@ * Authors and maintainers: * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.6.32beta05, August 2, 2017: + * libpng versions 0.97, January 1998, through 1.6.32beta06, August 2, 2017: * Glenn Randers-Pehrson. * See also "Contributing Authors", below. */ @@ -25,7 +25,7 @@ * * This code is released under the libpng license. * - * libpng versions 1.0.7, July 1, 2000 through 1.6.32beta05, August 2, 2017 are + * libpng versions 1.0.7, July 1, 2000 through 1.6.32beta06, August 2, 2017 are * Copyright (c) 2000-2002, 2004, 2006-2017 Glenn Randers-Pehrson, are * derived from libpng-1.0.6, and are distributed according to the same * disclaimer and license as libpng-1.0.6 with the following individuals @@ -247,7 +247,7 @@ * an official declaration. * * This is your unofficial assurance that libpng from version 0.71 and - * upward through 1.6.32beta05 are Y2K compliant. It is my belief that + * upward through 1.6.32beta06 are Y2K compliant. It is my belief that * earlier versions were also Y2K compliant. * * Libpng only has two year fields. One is a 2-byte unsigned integer @@ -309,8 +309,8 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.6.32beta05" -#define PNG_HEADER_VERSION_STRING " libpng version 1.6.32beta05 - August 2, 2017\n" +#define PNG_LIBPNG_VER_STRING "1.6.32beta06" +#define PNG_HEADER_VERSION_STRING " libpng version 1.6.32beta06 - August 2, 2017\n" #define PNG_LIBPNG_VER_SONUM 16 #define PNG_LIBPNG_VER_DLLNUM 16 @@ -324,7 +324,7 @@ * PNG_LIBPNG_VER_STRING, omitting any leading zero: */ -#define PNG_LIBPNG_VER_BUILD 05 +#define PNG_LIBPNG_VER_BUILD 06 /* Release Status */ #define PNG_LIBPNG_BUILD_ALPHA 1 @@ -459,7 +459,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_6_32beta05; +typedef char* png_libpng_version_1_6_32beta06; /* Basic control structions. Read libpng-manual.txt or libpng.3 for more info. * @@ -2014,10 +2014,6 @@ PNG_EXPORT(246, png_uint_32, png_get_eXIf, (png_const_structrp png_ptr, png_inforp info_ptr, png_bytep *exif)); PNG_EXPORT(247, void, png_set_eXIf, (png_const_structrp png_ptr, png_inforp info_ptr, const png_bytep exif)); -PNG_EXPORT(248, png_uint_32, png_get_eXIf_1, (png_const_structrp png_ptr, - png_inforp info_ptr, png_uint_32 *num_exif, png_bytep *exif)); -PNG_EXPORT(249, void, png_set_eXIf_1, (png_const_structrp png_ptr, - png_inforp info_ptr, png_uint_32 num_exif, const png_bytep exif)); #endif #ifdef PNG_gAMA_SUPPORTED @@ -3263,7 +3259,7 @@ PNG_EXPORT(244, int, png_set_option, (png_structrp png_ptr, int option, * one to use is one more than this.) */ #ifdef PNG_EXPORT_LAST_ORDINAL - PNG_EXPORT_LAST_ORDINAL(249); + PNG_EXPORT_LAST_ORDINAL(247); #endif #ifdef __cplusplus diff --git a/pngget.c b/pngget.c index 1f85f6c74..9068952f8 100644 --- a/pngget.c +++ b/pngget.c @@ -777,21 +777,12 @@ png_get_sPLT(png_const_structrp png_ptr, png_inforp info_ptr, png_uint_32 PNGAPI png_get_eXIf(png_const_structrp png_ptr, png_inforp info_ptr, png_bytep *exif) -{ - png_uint_32 num_exif = (png_uint_32) strlen((char *) exif); - return (png_get_eXIf_1(png_ptr, info_ptr, &num_exif, exif)); -} - -png_uint_32 PNGAPI -png_get_eXIf_1(png_const_structrp png_ptr, png_inforp info_ptr, - png_uint_32 *num_exif, png_bytep *exif) { png_debug1(1, "in %s retrieval function", "eXIf"); if (png_ptr != NULL && info_ptr != NULL && (info_ptr->valid & PNG_INFO_eXIf) != 0 && exif != NULL) { - *num_exif = info_ptr->num_exif; *exif = info_ptr->exif; return (PNG_INFO_eXIf); } diff --git a/pngrutil.c b/pngrutil.c index c56c49132..67c0875c4 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -2048,7 +2048,7 @@ png_handle_eXIf(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length) if (png_crc_finish(png_ptr, 0) != 0) return; - png_set_eXIf_1(png_ptr, info_ptr, length, info_ptr->eXIf_buf); + png_set_eXIf(png_ptr, info_ptr, info_ptr->eXIf_buf); png_free(png_ptr, info_ptr->eXIf_buf); info_ptr->eXIf_buf = NULL; diff --git a/pngset.c b/pngset.c index 49fc2bb10..fc8bbc86b 100644 --- a/pngset.c +++ b/pngset.c @@ -138,14 +138,6 @@ png_set_cHRM_XYZ(png_const_structrp png_ptr, png_inforp info_ptr, double red_X, void PNGAPI png_set_eXIf(png_const_structrp png_ptr, png_inforp info_ptr, const png_bytep eXIf_buf) -{ - png_set_eXIf_1(png_ptr, info_ptr, (png_uint_32)strlen((char *)eXIf_buf), - (const png_bytep) eXIf_buf); -} - -void PNGAPI -png_set_eXIf_1(png_const_structrp png_ptr, png_inforp info_ptr, - const png_uint_32 num_exif, const png_bytep eXIf_buf) { int i; @@ -160,7 +152,7 @@ png_set_eXIf_1(png_const_structrp png_ptr, png_inforp info_ptr, info_ptr->exif = NULL; } - info_ptr->num_exif = num_exif; + info_ptr->num_exif = (png_uint_32)strlen((const char *)eXIf_buf); info_ptr->exif = png_voidcast(png_bytep, png_malloc_warn(png_ptr, info_ptr->num_exif)); @@ -173,7 +165,7 @@ png_set_eXIf_1(png_const_structrp png_ptr, png_inforp info_ptr, info_ptr->free_me |= PNG_FREE_EXIF; - for (i = 0; i < (int) num_exif; i++) + for (i = 0; i < (int) info_ptr->num_exif; i++) info_ptr->exif[i] = eXIf_buf[i]; info_ptr->valid |= PNG_INFO_eXIf; diff --git a/pngtest.c b/pngtest.c index 50d27ea44..116d12e26 100644 --- a/pngtest.c +++ b/pngtest.c @@ -1562,13 +1562,14 @@ test_one_file(PNG_CONST char *inname, PNG_CONST char *outname) png_bytep exif=NULL; png_uint_32 exif_length; - if (png_get_eXIf_1(read_ptr, end_info_ptr, &exif_length, &exif) != 0) + if (png_get_eXIf(read_ptr, end_info_ptr, &exif) != 0) { + exif_length=(png_uint_32)strlen((const char *)exif); if (exif_length > 1) printf(" eXIf type %c%c, %d bytes\n",exif[0],exif[1], (int)exif_length); # ifdef PNG_WRITE_eXIf_SUPPORTED - png_set_eXIf_1(write_ptr, write_end_info_ptr, exif_length, exif); + png_set_eXIf(write_ptr, write_end_info_ptr, exif); # endif } } @@ -2131,4 +2132,4 @@ main(void) #endif /* Generate a compiler error if there is an old png.h in the search path. */ -typedef png_libpng_version_1_6_32beta05 Your_png_h_is_not_version_1_6_32beta05; +typedef png_libpng_version_1_6_32beta06 Your_png_h_is_not_version_1_6_32beta06; diff --git a/scripts/symbols.def b/scripts/symbols.def index a5fcb1034..f66b4ef3f 100644 --- a/scripts/symbols.def +++ b/scripts/symbols.def @@ -1,4 +1,4 @@ -;Version 1.6.32beta05 +;Version 1.6.32beta06 ;-------------------------------------------------------------- ; LIBPNG symbol list as a Win32 DEF file ; Contains all the symbols that can be exported from libpng @@ -252,5 +252,3 @@ EXPORTS png_image_write_to_memory @245 png_get_eXIf @246 png_set_eXIf @247 - png_get_eXIf_1 @248 - png_set_eXIf_1 @249