Fix certain minimal config builds

The removal of png_struct::row_buffer and png_struct::row_format from write
builds configured without filter or transform support (respectively) wasn't
complete; some of the png.c and pngwrite.c cleanup code needed to handle the
potentially removed members.

Signed-off-by: John Bowler <jbowler@acm.org>
This commit is contained in:
John Bowler
2015-11-22 20:34:00 -08:00
parent 504ebd427d
commit 368bb1b241
2 changed files with 7 additions and 3 deletions

8
png.c
View File

@@ -2448,10 +2448,12 @@ png_copy_row(png_const_structrp png_ptr, png_bytep dp, png_const_bytep sp,
* little endian; bits to copy in the bottom of 's'. Make 'remaining'
* into a mask of the bits to *preserve* in dp.
*/
if ((png_ptr->row_format & PNG_FORMAT_FLAG_SWAPPED) == 0U)
remaining = 0xffU >> remaining;
# ifdef PNG_TRANSFORM_MECH_SUPPORTED
if ((png_ptr->row_format & PNG_FORMAT_FLAG_SWAPPED) == 0U)
remaining = 0xffU >> remaining;
else
else
# endif /* TRANSFORM_MECH */
remaining = 0xffU << remaining;
/* remaining is now the bits to *keep* from the destination byte, if