Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-updates-src > by-pkgid > da1cabb3da77d5c4fa703f4675a671a4 > files > 5

freeimage-3.154-1.1.mga5.src.rpm

diff --git a/Source/FreeImage/PluginPNG.cpp b/Source/FreeImage/PluginPNG.cpp
index 08e5f01..a79b16d 100644
--- a/Source/FreeImage/PluginPNG.cpp
+++ b/Source/FreeImage/PluginPNG.cpp
@@ -37,6 +37,7 @@

 // ----------------------------------------------------------

+#include <zlib.h>
 #include <png.h>

 // ----------------------------------------------------------
@@ -101,10 +102,7 @@ ReadMetadata(png_structp png_ptr, png_infop info_ptr, FIBITMAP *dib) {
 			tag = FreeImage_CreateTag();
 			if(!tag) return FALSE;

-			DWORD tag_length = text_ptr[i].text_length;
-#ifdef PNG_iTXt_SUPPORTED
-			tag_length = MAX(tag_length, text_ptr[i].itxt_length);
-#endif
+			DWORD tag_length = (DWORD) MAX(text_ptr[i].text_length, text_ptr[i].itxt_length);

 			FreeImage_SetTagLength(tag, tag_length);
 			FreeImage_SetTagCount(tag, tag_length);
@@ -568,7 +566,7 @@ Load(FreeImageIO *io, fi_handle handle, int page, int flags, void *data) {

 			if (png_get_valid(png_ptr, info_ptr, PNG_INFO_iCCP)) {
 				png_charp profile_name = NULL;
-				png_charp profile_data = NULL;
+				png_bytep profile_data = NULL;
 				png_uint_32 profile_length = 0;
 				int  compression_type;

@@ -840,7 +838,7 @@ Save(FreeImageIO *io, FIBITMAP *dib, fi_handle handle, int page, int flags, void

 			FIICCPROFILE *iccProfile = FreeImage_GetICCProfile(dib);
 			if (iccProfile->size && iccProfile->data) {
-				png_set_iCCP(png_ptr, info_ptr, "Embedded Profile", 0, (png_charp)iccProfile->data, iccProfile->size);
+				png_set_iCCP(png_ptr, info_ptr, "Embedded Profile", 0, (png_const_bytep)iccProfile->data, iccProfile->size);
 			}

 			// write metadata