From 53bda5a7af3505309fe146201338b41981c2d0d0 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sat, 2 Jul 2016 08:53:21 -0500 Subject: [PATCH] [libpng17] Sync contrib/libtests/pngimage.c with libpng16; update CHANGES and ANNOUNCE --- ANNOUNCE | 8 +++++--- CHANGES | 7 ++++--- contrib/libtests/pngimage.c | 39 +++++++++++++------------------------ contrib/tools/pngcp.c | 2 +- 4 files changed, 24 insertions(+), 32 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index f4ab99664..ebddcb9d3 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.7.0beta82 - June 24, 2016 +Libpng 1.7.0beta82 - July 2, 2016 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. @@ -1290,7 +1290,7 @@ Version 1.7.0beta80 [May 6, 2016] unreachable code in pz_default_settings and eliminated a spurious warning in pngcp for small files. -Version 1.7.0beta81 [June 24, 2016] +Version 1.7.0beta81 [June 11, 2016] Check for CLOCK_PROCESS_CPUTIME_ID when building /contrib/libtests/timepng. Otherwise it does not build on platforms that don't supply clock_gettime(). Add check for clock_gettime() in Makefile.am and configure.ac @@ -1380,10 +1380,12 @@ Version 1.7.0beta81 [June 24, 2016] Avoid potential overflow of the PNG_IMAGE_SIZE macro. This macro is not used within libpng, but is used in some of the examples. -Version 1.7.0beta82 [June 24, 2016] +Version 1.7.0beta82 [July 2, 2016] Put the SKIP definition in the correct place. It needs to come after the png.h include (see all the other .c files in contrib/libtests) because it depends on PNG_LIBPNG_VER. + Moved pngcp to contrib/tools and added pngcp to the build together + with a pngcp.dfa configuration test (John Bowler) Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index 0fb2cdb96..aa80b8807 100644 --- a/CHANGES +++ b/CHANGES @@ -5590,7 +5590,7 @@ Version 1.7.0beta80 [May 6, 2016] unreachable code in pz_default_settings and eliminated a spurious warning in pngcp for small files. -Version 1.7.0beta81 [June 24, 2016] +Version 1.7.0beta81 [June 11, 2016] Check for CLOCK_PROCESS_CPUTIME_ID when building /contrib/libtests/timepng. Otherwise it does not build on platforms that don't supply clock_gettime(). Add check for clock_gettime() in Makefile.am and configure.ac @@ -5680,11 +5680,12 @@ Version 1.7.0beta81 [June 24, 2016] Avoid potential overflow of the PNG_IMAGE_SIZE macro. This macro is not used within libpng, but is used in some of the examples. -Version 1.7.0beta82 [June 24, 2016] +Version 1.7.0beta82 [July 2, 2016] Put the SKIP definition in the correct place. It needs to come after the png.h include (see all the other .c files in contrib/libtests) because it depends on PNG_LIBPNG_VER. - + Moved pngcp to contrib/tools and added pngcp to the build together + with a pngcp.dfa configuration test (John Bowler) Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/contrib/libtests/pngimage.c b/contrib/libtests/pngimage.c index 3c4e82cde..78dc4a406 100644 --- a/contrib/libtests/pngimage.c +++ b/contrib/libtests/pngimage.c @@ -2,7 +2,7 @@ * * Copyright (c) 2015,2016 John Cunningham Bowler * - * Last changed in libpng 1.6.22 [May 26, 2016] + * Last changed in libpng 1.6.24 [(PENDING RELEASE)] * * This code is released under the libpng license. * For conditions of distribution and use, see the disclaimer @@ -45,19 +45,8 @@ # define SKIP 0 #endif -#if PNG_LIBPNG_VER < 10700 - /* READ_PNG and WRITE_PNG were not defined, so: */ -# ifdef PNG_INFO_IMAGE_SUPPORTED -# ifdef PNG_SEQUENTIAL_READ_SUPPORTED -# define PNG_READ_PNG_SUPPORTED -# endif /* SEQUENTIAL_READ */ -# ifdef PNG_WRITE_SUPPORTED -# define PNG_WRITE_PNG_SUPPORTED -# endif /* WRITE */ -# endif /* INFO_IMAGE */ -#endif /* pre 1.7.0 */ - -#ifdef PNG_READ_PNG_SUPPORTED +#if defined(PNG_INFO_IMAGE_SUPPORTED) && defined(PNG_SEQUENTIAL_READ_SUPPORTED)\ + && (defined(PNG_READ_PNG_SUPPORTED) || PNG_LIBPNG_VER < 10700) /* If a transform is valid on both read and write this implies that if the * transform is applied to read it must also be applied on write to produce * meaningful data. This is because these transforms when performed on read @@ -406,7 +395,7 @@ buffer_destroy(struct buffer *buffer) buffer_destroy_list(list); } -#ifdef PNG_WRITE_PNG_SUPPORTED +#ifdef PNG_WRITE_SUPPORTED static void buffer_start_write(struct buffer *buffer) { @@ -576,7 +565,7 @@ struct display png_structp read_pp; png_infop read_ip; -# ifdef PNG_WRITE_PNG_SUPPORTED +# ifdef PNG_WRITE_SUPPORTED /* Used to write a new image (the original info_ptr is used) */ png_structp write_pp; struct buffer written_file; /* where the file gets written */ @@ -603,7 +592,7 @@ display_init(struct display *dp) dp->read_ip = NULL; buffer_init(&dp->original_file); -# ifdef PNG_WRITE_PNG_SUPPORTED +# ifdef PNG_WRITE_SUPPORTED dp->write_pp = NULL; buffer_init(&dp->written_file); # endif @@ -616,7 +605,7 @@ display_clean_read(struct display *dp) png_destroy_read_struct(&dp->read_pp, &dp->read_ip, NULL); } -#ifdef PNG_WRITE_PNG_SUPPORTED +#ifdef PNG_WRITE_SUPPORTED static void display_clean_write(struct display *dp) { @@ -628,7 +617,7 @@ display_clean_write(struct display *dp) static void display_clean(struct display *dp) { -# ifdef PNG_WRITE_PNG_SUPPORTED +# ifdef PNG_WRITE_SUPPORTED display_clean_write(dp); # endif display_clean_read(dp); @@ -646,7 +635,7 @@ static void display_destroy(struct display *dp) { /* Release any memory held in the display. */ -# ifdef PNG_WRITE_PNG_SUPPORTED +# ifdef PNG_WRITE_SUPPORTED buffer_destroy(&dp->written_file); # endif @@ -1264,7 +1253,7 @@ compare_read(struct display *dp, int applied_transforms) return 1; /* compare succeeded */ } -#ifdef PNG_WRITE_PNG_SUPPORTED +#ifdef PNG_WRITE_SUPPORTED static void buffer_write(struct display *dp, struct buffer *buffer, png_bytep data, png_size_t size) @@ -1363,7 +1352,7 @@ write_png(struct display *dp, png_infop ip, int transforms) */ display_clean_write(dp); } -#endif /* WRITE_PNG */ +#endif /* WRITE_SUPPORTED */ static int skip_transform(struct display *dp, int tr) @@ -1425,7 +1414,7 @@ test_one_file(struct display *dp, const char *filename) return; /* no point testing more */ } -#ifdef PNG_WRITE_PNG_SUPPORTED +#ifdef PNG_WRITE_SUPPORTED /* Second test: write the original PNG data out to a new file (to test the * write side) then read the result back in and make sure that it hasn't * changed. @@ -1466,7 +1455,7 @@ test_one_file(struct display *dp, const char *filename) * out and read it back in again (without the reversible transforms) * we should get back to the place where we started. */ -#ifdef PNG_WRITE_PNG_SUPPORTED +#ifdef PNG_WRITE_SUPPORTED if ((current & write_transforms) == current) { /* All transforms reversible: write the PNG with the transformations @@ -1702,7 +1691,7 @@ main(const int argc, const char * const * const argv) return errors != 0; } } -#else /* !READ_PNG */ +#else /* !INFO_IMAGE || !SEQUENTIAL_READ || !READ_PNG*/ int main(void) { diff --git a/contrib/tools/pngcp.c b/contrib/tools/pngcp.c index 924d6e9c6..5e085ee07 100644 --- a/contrib/tools/pngcp.c +++ b/contrib/tools/pngcp.c @@ -2,7 +2,7 @@ * * Copyright (c) 2016 John Cunningham Bowler * - * Last changed in libpng 1.6.24beta03 [June 27, 2016] + * Last changed in libpng 1.6.24 [(PENDING RELEASE)] * * This code is released under the libpng license. * For conditions of distribution and use, see the disclaimer