diff --git a/ANNOUNCE b/ANNOUNCE index e78bcb471..3df1129e4 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -27,8 +27,8 @@ Other information: Changes since the last public release (1.6.6): Version 1.6.7 [September 20, 2013] - Reverted the change to unknown handling #defines; the change breaks 'NOREAD' - builds. + Added #ifdef PNG_READ_SUPPORTED/endif around the png_chunk_unknown_handling() + function. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index 16cab79f8..a77a290c4 100644 --- a/CHANGES +++ b/CHANGES @@ -4641,8 +4641,8 @@ Version 1.6.6 [September 20, 2013] Removed two stray lines of code from arm/arm_init.c, again. Version 1.6.7beta01 [September 20, 2013] - Reverted the change to unknown handling #defines; the change breaks 'NOREAD' - builds. + Added #ifdef PNG_READ_SUPPORTED/endif around the png_chunk_unknown_handling() + function. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/png.c b/png.c index 22dcaa8dd..d2938fa03 100644 --- a/png.c +++ b/png.c @@ -855,7 +855,8 @@ png_handle_as_unknown(png_const_structrp png_ptr, png_const_bytep chunk_name) return PNG_HANDLE_CHUNK_AS_DEFAULT; } -#ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED +#ifdef PNG_READ_SUPPORTED +#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED int /* PRIVATE */ png_chunk_unknown_handling(png_const_structrp png_ptr, png_uint_32 chunk_name) { @@ -864,7 +865,8 @@ 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 /* READ_UNKNOWN_CHUNKS */ +#endif /* HANDLE_AS_UNKNOWN */ +#endif /* READ_SUPPORTED */ #endif /* SET_UNKNOWN_CHUNKS */ #ifdef PNG_READ_SUPPORTED diff --git a/pngpriv.h b/pngpriv.h index 4d8051f92..fb15134c0 100644 --- a/pngpriv.h +++ b/pngpriv.h @@ -1431,15 +1431,13 @@ PNG_INTERNAL_FUNCTION(void,png_handle_unknown,(png_structrp png_ptr, * just skips the chunk or errors out if it is critical. */ -#ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED -#ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED +#ifdef PNG_HANDLE_AS_UNKNOWN_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 -#endif /* PNG_READ_UNKNOWN_CHUNKS_SUPPORTED */ +#endif /* PNG_HANDLE_AS_UNKNOWN_SUPPORTED */ #endif /* PNG_READ_SUPPORTED */ /* Handle the transformations for reading and writing */ diff --git a/pngrutil.c b/pngrutil.c index ff215b2dd..4ef57faa8 100644 --- a/pngrutil.c +++ b/pngrutil.c @@ -2764,7 +2764,6 @@ 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 @@ -2777,15 +2776,14 @@ png_handle_unknown(png_structrp png_ptr, png_inforp info_ptr, * function. */ # ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED -# ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED - keep = png_chunk_unknown_handling(png_ptr, png_ptr->chunk_name); -# endif + keep = PNG_HANDLE_CHUNK_AS_DEFAULT; # 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. @@ -2893,7 +2891,7 @@ png_handle_unknown(png_structrp png_ptr, png_inforp info_ptr, png_crc_finish(png_ptr, length); } -# endif +# endif /* PNG_SAVE_UNKNOWN_CHUNKS_SUPPORTED */ # ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED /* Now store the chunk in the chunk list if appropriate, and if the limits