From 873f16fe2f83917c2dfdaef5b06208443387eefd Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Fri, 20 Sep 2013 14:28:50 -0500 Subject: [PATCH] [libpng16] Reverted the change to unknown handling #defines; the change breaks 'NOREAD' builds. --- ANNOUNCE | 6 ++++-- CHANGES | 6 ++++-- png.c | 8 ++++---- pngpriv.h | 6 ++++-- pngrutil.c | 10 ++++++---- 5 files changed, 22 insertions(+), 14 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 7dd3b6368..e78bcb471 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.6.7beta01 - September 16, 2013 +Libpng 1.6.7beta01 - September 20, 2013 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. @@ -26,7 +26,9 @@ Other information: Changes since the last public release (1.6.6): -Version 1.6.7 [September 16, 2013] +Version 1.6.7 [September 20, 2013] + Reverted the change to unknown handling #defines; the change breaks 'NOREAD' + builds. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index b46115dc3..16cab79f8 100644 --- a/CHANGES +++ b/CHANGES @@ -4637,10 +4637,12 @@ Version 1.6.4 [September 12, 2013] Version 1.6.5 [September 14, 2013] Removed two stray lines of code from arm/arm_init.c. -Version 1.6.6 [September 16, 2013] +Version 1.6.6 [September 20, 2013] Removed two stray lines of code from arm/arm_init.c, again. -Version 1.6.7beta01 [September 16, 2013] +Version 1.6.7beta01 [September 20, 2013] + Reverted the change to unknown handling #defines; the change breaks 'NOREAD' + builds. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/png.c b/png.c index 68109a9fb..22dcaa8dd 100644 --- a/png.c +++ b/png.c @@ -768,13 +768,13 @@ png_get_copyright(png_const_structrp png_ptr) #else # ifdef __STDC__ return PNG_STRING_NEWLINE \ - "libpng version 1.6.7beta01 - September 16, 2013" PNG_STRING_NEWLINE \ + "libpng version 1.6.7beta01 - September 20, 2013" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2013 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ PNG_STRING_NEWLINE; # else - return "libpng version 1.6.7beta01 - September 16, 2013\ + return "libpng version 1.6.7beta01 - September 20, 2013\ Copyright (c) 1998-2013 Glenn Randers-Pehrson\ Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."; @@ -855,7 +855,7 @@ png_handle_as_unknown(png_const_structrp png_ptr, png_const_bytep chunk_name) return PNG_HANDLE_CHUNK_AS_DEFAULT; } -#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED +#ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED int /* PRIVATE */ png_chunk_unknown_handling(png_const_structrp png_ptr, png_uint_32 chunk_name) { @@ -864,7 +864,7 @@ png_chunk_unknown_handling(png_const_structrp png_ptr, png_uint_32 chunk_name) PNG_CSTRING_FROM_CHUNK(chunk_string, chunk_name); return png_handle_as_unknown(png_ptr, chunk_string); } -#endif /* HANDLE_AS_UNKNOWN */ +#endif /* READ_UNKNOWN_CHUNKS */ #endif /* SET_UNKNOWN_CHUNKS */ #ifdef PNG_READ_SUPPORTED diff --git a/pngpriv.h b/pngpriv.h index fb15134c0..4d8051f92 100644 --- a/pngpriv.h +++ b/pngpriv.h @@ -1431,13 +1431,15 @@ PNG_INTERNAL_FUNCTION(void,png_handle_unknown,(png_structrp png_ptr, * just skips the chunk or errors out if it is critical. */ -#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED +#ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED +#ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED PNG_INTERNAL_FUNCTION(int,png_chunk_unknown_handling, (png_const_structrp png_ptr, png_uint_32 chunk_name),PNG_EMPTY); /* Exactly as the API png_handle_as_unknown() except that the argument is a * 32-bit chunk name, not a string. */ -#endif /* PNG_HANDLE_AS_UNKNOWN_SUPPORTED */ +#endif +#endif /* PNG_READ_UNKNOWN_CHUNKS_SUPPORTED */ #endif /* PNG_READ_SUPPORTED */ /* Handle the transformations for reading and writing */ diff --git a/pngrutil.c b/pngrutil.c index 8ad299f4d..ff215b2dd 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -2764,6 +2764,7 @@ png_handle_unknown(png_structrp png_ptr, png_inforp info_ptr, png_debug(1, "in png_handle_unknown"); +#ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED /* NOTE: this code is based on the code in libpng-1.4.12 except for fixing * the bug which meant that setting a non-default behavior for a specific * chunk would be ignored (the default was always used unless a user @@ -2775,15 +2776,16 @@ png_handle_unknown(png_structrp png_ptr, png_inforp info_ptr, * This is just an optimization to avoid multiple calls to the lookup * function. */ -# ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED - keep = png_chunk_unknown_handling(png_ptr, png_ptr->chunk_name); +# ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED +# ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED + keep = png_chunk_unknown_handling(png_ptr, png_ptr->chunk_name); +# endif # endif /* One of the following methods will read the chunk or skip it (at least one * of these is always defined because this is the only way to switch on * PNG_READ_UNKNOWN_CHUNKS_SUPPORTED) */ -#ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED # ifdef PNG_READ_USER_CHUNKS_SUPPORTED /* The user callback takes precedence over the chunk keep value, but the * keep value is still required to validate a save of a critical chunk. @@ -2891,7 +2893,7 @@ png_handle_unknown(png_structrp png_ptr, png_inforp info_ptr, png_crc_finish(png_ptr, length); } -# endif /* PNG_SAVE_UNKNOWN_CHUNKS_SUPPORTED */ +# endif # ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED /* Now store the chunk in the chunk list if appropriate, and if the limits