Sophie

Sophie

distrib > Mageia > 6 > armv7hl > media > core-updates-src > by-pkgid > e292cda8ad33284786d7f1384ee2e82d > files > 29

ming-0.4.5-14.1.mga6.src.rpm

diff -urN ming-0.4.5/src/blocks/gifdbl.c ming-0.4.5-patched/src/blocks/gifdbl.c
--- ming-0.4.5/src/blocks/gifdbl.c	2010-10-10 18:19:23.000000000 +1100
+++ ming-0.4.5-patched/src/blocks/gifdbl.c	2014-05-30 00:21:43.942497701 +1100
@@ -32,6 +32,7 @@
 #include <gif_lib.h>
 #include <zlib.h>
 
+static int gif_error = 0;
 
 /*void error(char *msg)
 {
@@ -203,7 +204,11 @@
 	}
 
 	/* Done! */
+#if GIFLIB_MAJOR * 100 + GIFLIB_MINOR >= 501
+	DGifCloseFile(file, NULL);
+#else
 	DGifCloseFile(file);
+#endif
 
 	result->data = malloc(outsize = (int)floor(size*1.01+12));
 
@@ -227,7 +232,11 @@
 	SWFDBLBitmapData ret;
 	struct dbl_data gifdata;
 
+#if GIFLIB_MAJOR >= 5
+	if((file = DGifOpenFileName(fileName, &gif_error)) == NULL)
+#else
 	if((file = DGifOpenFileName(fileName)) == NULL)
+#endif
 		return NULL;
 	if(!readGif(file, &gifdata))
 		return NULL;
@@ -246,7 +255,11 @@
 	SWFDBLBitmapData ret;
 	struct dbl_data gifdata;
 
+#if GIFLIB_MAJOR >= 5
+	if((file = DGifOpen(input, (InputFunc) gifReadFunc, &gif_error)) == NULL)
+#else
 	if((file = DGifOpen(input, (InputFunc) gifReadFunc)) == NULL)
+#endif
 		return NULL;
 	if(!readGif(file, &gifdata))
 		return NULL;
diff -urN ming-0.4.5/src/libming.h ming-0.4.5-patched/src/libming.h
--- ming-0.4.5/src/libming.h	2013-06-09 01:08:51.000000000 +1100
+++ ming-0.4.5-patched/src/libming.h	2014-05-30 00:25:37.784121930 +1100
@@ -77,10 +77,16 @@
 #endif
 
 #if GIFLIB_GIFERRORSTRING
+#include <gif_lib.h>
 static void
 PrintGifError(void)
 {
+#if GIFLIB_MAJOR >= 5
+// Shouldn't be used with giflib5 anyway
+	fprintf(stderr, "\nGIF-LIB error.\n");
+#else
 	fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString());
+#endif
 }
 #endif
 
diff -urN ming-0.4.5/util/gif2dbl.c ming-0.4.5-patched/util/gif2dbl.c
--- ming-0.4.5/util/gif2dbl.c	2013-06-09 01:08:51.000000000 +1100
+++ ming-0.4.5-patched/util/gif2dbl.c	2014-05-30 00:21:43.942497701 +1100
@@ -19,10 +19,16 @@
 
 #include "libming.h"
 
+static int gif_error = 0;
+
 void error(char *msg)
 {
   printf("%s:\n\n", msg);
+#if GIFLIB_MAJOR >= 5
+  printf("%s\n", GifErrorString(gif_error));
+#else
   PrintGifError();
+#endif
   exit(-1);
 }
 
@@ -59,7 +65,11 @@
   unsigned char *p;
   int i, nColors, size, alpha, bgColor, alignedWidth;
 
+#if GIFLIB_MAJOR >= 5
+  if((file = DGifOpenFileName(fileName, &gif_error)) == NULL)
+#else
   if((file = DGifOpenFileName(fileName)) == NULL)
+#endif
     error("Error opening file");
 
   if(DGifSlurp(file) != GIF_OK)
@@ -190,7 +200,11 @@
   }
 
 	/* Done! */
+#if GIFLIB_MAJOR * 100 + GIFLIB_MINOR >= 501
+  DGifCloseFile(file, NULL);
+#else
   DGifCloseFile(file);
+#endif
 
   *length = size;
   return data;
diff -urN ming-0.4.5/util/gif2mask.c ming-0.4.5-patched/util/gif2mask.c
--- ming-0.4.5/util/gif2mask.c	2013-06-09 01:08:51.000000000 +1100
+++ ming-0.4.5-patched/util/gif2mask.c	2014-05-30 00:21:43.942497701 +1100
@@ -13,10 +13,16 @@
 
 #define max(a,b,c) (((a)>(b))?(((c)>(a))?(c):(a)):(((c)>(b))?(c):(b)))
 
+static int gif_error = 0;
+
 void error(char *msg)
 {
   printf("%s:\n\n", msg);
+#if GIFLIB_MAJOR >= 5
+  printf("%s\n", GifErrorString(gif_error));
+#else
   PrintGifError();
+#endif
   exit(-1);
 }
 
@@ -28,7 +34,11 @@
   unsigned char *data;
   int i, nColors, size;
 
+#if GIFLIB_MAJOR >= 5
+  if((file = DGifOpenFileName(fileName, &gif_error)) == NULL)
+#else
   if((file = DGifOpenFileName(fileName)) == NULL)
+#endif
     error("Error opening file");
 
   if(DGifSlurp(file) != GIF_OK)