[libpng16] Added calls to png_handle_eXIf(() in pngread.c and png_write_eXIf()

in pngwrite.c, and made various other fixes to png_write_eXIf().
Eliminated png_ptr->num_exif member from pngstruct.h and added num_exif
  to arguments for png_get_eXIf() and png_set_eXIf().
This commit is contained in:
Glenn Randers-Pehrson
2017-07-31 14:20:40 -05:00
parent 4ab78af90a
commit 40afb68570
8 changed files with 46 additions and 21 deletions

View File

@@ -1479,24 +1479,15 @@ void /* PRIVATE */
png_write_eXIf(png_structrp png_ptr, png_bytep exif, int num_exif)
{
int i;
png_byte buf[3];
png_byte buf[1];
png_debug(1, "in png_write_eXIf");
if (num_exif > (int)png_ptr->num_exif)
{
png_debug2(3, "num_exif = %d, png_ptr->num_exif = %d", num_exif,
png_ptr->num_exif);
png_warning(png_ptr, "Invalid number of exif bytes specified");
return;
}
png_write_chunk_header(png_ptr, png_eXIf, (png_uint_32)(num_exif));
for (i = 0; i < num_exif; i++)
{
buf[i] = exif[i];
buf[0] = exif[i];
png_write_chunk_data(png_ptr, buf, (png_size_t)1);
}