--- ming-0.4.5/src/blocks/gifdbl.c.orig 2010-10-10 09:19:23.000000000 +0200 +++ ming-0.4.5/src/blocks/gifdbl.c 2014-04-06 21:48:13.695395774 +0200 @@ -69,7 +69,7 @@ unsigned char *bits; unsigned char *data; unsigned char *p; - int i, nColors, size, alpha, bgColor, alignedWidth, bytesPerColor; + int i, nColors, size, alpha, bgColor, alignedWidth, bytesPerColor, giferror; unsigned long outsize; if(DGifSlurp(file) != GIF_OK) @@ -203,7 +203,7 @@ } /* Done! */ - DGifCloseFile(file); + DGifCloseFile(file, &giferror); result->data = malloc(outsize = (int)floor(size*1.01+12)); @@ -227,7 +227,7 @@ SWFDBLBitmapData newSWFDBLBitmapData_fro SWFDBLBitmapData ret; struct dbl_data gifdata; - if((file = DGifOpenFileName(fileName)) == NULL) + if((file = DGifOpenFileName(fileName, NULL)) == NULL) return NULL; if(!readGif(file, &gifdata)) return NULL; @@ -246,7 +246,7 @@ SWFDBLBitmapData newSWFDBLBitmapData_fro SWFDBLBitmapData ret; struct dbl_data gifdata; - if((file = DGifOpen(input, (InputFunc) gifReadFunc)) == NULL) + if((file = DGifOpen(input, (InputFunc) gifReadFunc, NULL)) == NULL) return NULL; if(!readGif(file, &gifdata)) return NULL; --- ming-0.4.5/src/libming.h.orig 2013-06-08 16:08:51.000000000 +0200 +++ ming-0.4.5/src/libming.h 2014-04-06 21:45:18.005399434 +0200 @@ -76,12 +76,4 @@ typedef unsigned char BOOL; #include #endif -#if GIFLIB_GIFERRORSTRING -static void -PrintGifError(void) -{ - fprintf(stderr, "\nGIF-LIB error: %s.\n", GifErrorString()); -} -#endif - #endif /* SWF_LIBMING_H_INCLUDED */ --- ming-0.4.5/util/gif2dbl.c.orig 2013-06-08 16:08:51.000000000 +0200 +++ ming-0.4.5/util/gif2dbl.c 2014-04-06 22:00:18.692047334 +0200 @@ -19,10 +19,9 @@ #include "libming.h" -void error(char *msg) +void gifError(char *msg, int err) { - printf("%s:\n\n", msg); - PrintGifError(); + printf("%s:\n\n%s\n", msg, GifErrorString(err)); exit(-1); } @@ -57,13 +56,13 @@ unsigned char *readGif(char *fileName, i unsigned char *bits; unsigned char *data; unsigned char *p; - int i, nColors, size, alpha, bgColor, alignedWidth; + int i, nColors, size, alpha, bgColor, alignedWidth, err; - if((file = DGifOpenFileName(fileName)) == NULL) - error("Error opening file"); + if((file = DGifOpenFileName(fileName, &err)) == NULL) + gifError("Error opening file", err); if(DGifSlurp(file) != GIF_OK) - error("Error slurping file"); + gifError("Error slurping file", file->Error); /* data should now be available */ @@ -189,7 +189,7 @@ } /* Done! */ - DGifCloseFile(file); + DGifCloseFile(file, &err); *length = size; return data; --- ming-0.4.5/util/gif2mask.c.orig 2013-06-08 16:08:51.000000000 +0200 +++ ming-0.4.5/util/gif2mask.c 2014-04-06 21:59:20.702048538 +0200 @@ -13,10 +13,9 @@ #define max(a,b,c) (((a)>(b))?(((c)>(a))?(c):(a)):(((c)>(b))?(c):(b))) -void error(char *msg) +void gifError(char *msg, int err) { - printf("%s:\n\n", msg); - PrintGifError(); + printf("%s:\n\n%s\n", msg, GifErrorString(err)); exit(-1); } @@ -26,13 +25,13 @@ unsigned char *readGif(char *fileName, i unsigned char *bits; unsigned char colorMap[256]; unsigned char *data; - int i, nColors, size; + int i, nColors, size, err; - if((file = DGifOpenFileName(fileName)) == NULL) - error("Error opening file"); + if((file = DGifOpenFileName(fileName, &err)) == NULL) + gifError("Error opening file", err); if(DGifSlurp(file) != GIF_OK) - error("Error slurping file"); + gifError("Error slurping file", file->Error); /* data should now be available */