summaryrefslogtreecommitdiff
path: root/pngset.c
diff options
context:
space:
mode:
authorGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2017-07-31 14:20:40 -0500
committerGlenn Randers-Pehrson <glennrp at users.sourceforge.net>2017-07-31 14:21:46 -0500
commit40afb685704f1a5bf8d9edc0b5c7ec7f25e94b77 (patch)
treefd230ed1d47cdb8bde8055284494bda7f8256484 /pngset.c
parent4ab78af90a0f54665a8c1aca16745d2f641c7efb (diff)
[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().
Diffstat (limited to 'pngset.c')
-rw-r--r--pngset.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/pngset.c b/pngset.c
index 998473557..a6a22067d 100644
--- a/pngset.c
+++ b/pngset.c
@@ -137,7 +137,7 @@ png_set_cHRM_XYZ(png_const_structrp png_ptr, png_inforp info_ptr, double red_X,
#ifdef PNG_eXIf_SUPPORTED
void PNGAPI
png_set_eXIf(png_const_structrp png_ptr, png_inforp info_ptr,
- const png_bytep eXIf_buf)
+ const png_uint_32 num_exif, const png_bytep eXIf_buf)
{
int i;
@@ -148,6 +148,8 @@ png_set_eXIf(png_const_structrp png_ptr, png_inforp info_ptr,
png_free_data(png_ptr, info_ptr, PNG_FREE_EXIF, 0);
+ info_ptr->num_exif = num_exif;
+
info_ptr->exif = png_voidcast(png_bytep, png_malloc_warn(png_ptr,
info_ptr->num_exif));
@@ -160,7 +162,7 @@ png_set_eXIf(png_const_structrp png_ptr, png_inforp info_ptr,
info_ptr->free_me |= PNG_FREE_EXIF;
- for (i = 0; i < info_ptr->num_exif; i++)
+ for (i = 0; i < (int) num_exif; i++)
info_ptr->exif[i] = eXIf_buf[i];
info_ptr->valid |= PNG_INFO_eXIf;