#486372 Corrected typo in this revision. -gmt diff -urpN imlib-1.9.15.orig/Imlib/load.c imlib-1.9.15/Imlib/load.c --- imlib-1.9.15.orig/Imlib/load.c 2013-10-08 03:11:36.345543218 -0700 +++ imlib-1.9.15/Imlib/load.c 2013-10-08 03:31:42.782796667 -0700 @@ -431,6 +431,25 @@ _LoadTIFF(ImlibData * id, FILE *f, char #endif /* HAVE_LIBTIFF */ #ifdef HAVE_LIBGIF + + // on giflib-4.2+, PrintGifError is gone and GifErrorString is in + #ifdef HAVE_GIF_ERROR_STRING + #if (GIFLIB_MAJOR >= 5) + #define GifError() (gif ? gif->Error : 0) + #define GifErrorString() GifErrorString(GifError()) + #endif + #define myPrintGifError2() \ + do { \ + const char* errorString = GifErrorString(); \ + if (errorString != NULL) \ + fprintf(stderr, "giflib: error: %s\n", errorString); \ + else \ + fprintf(stderr, "giflib: error (undefined): %d\n", GifError()); \ + } while (0) + #else + #define myPrintGifError2() PrintGifError() + #endif + unsigned char * _LoadGIF(ImlibData * id, FILE *f, int *w, int *h, int *t) { @@ -466,14 +482,14 @@ _LoadGIF(ImlibData * id, FILE *f, int *w { if (DGifGetRecordType(gif, &rec) == GIF_ERROR) { - PrintGifError(); + myPrintGifError2(); rec = TERMINATE_RECORD_TYPE; } if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done)) { if (DGifGetImageDesc(gif) == GIF_ERROR) { - PrintGifError(); + myPrintGifError2(); rec = TERMINATE_RECORD_TYPE; } *w = gif->Image.Width; diff -urpN imlib-1.9.15.orig/gdk_imlib/io-gif.c imlib-1.9.15/gdk_imlib/io-gif.c --- imlib-1.9.15.orig/gdk_imlib/io-gif.c 2013-10-08 03:11:36.345543218 -0700 +++ imlib-1.9.15/gdk_imlib/io-gif.c 2013-10-08 03:30:08.165286885 -0700 @@ -10,6 +10,25 @@ unsigned char loader_gif (FILE *f, int * #else #include + + // on giflib-4.2+, PrintGifError is gone and GifErrorString is in + #ifdef HAVE_GIF_ERROR_STRING + #if (GIFLIB_MAJOR >= 5) + #define GifError() (gif ? gif->Error : 0) + #define GifErrorString() GifErrorString(GifError()) + #endif + #define myPrintGifError() \ + do { \ + const char* errorString = GifErrorString(); \ + if (errorString != NULL) \ + fprintf(stderr, "giflib: error: %s\n", errorString); \ + else \ + fprintf(stderr, "giflib: error (undefined): %d\n", GifError()); \ + } while (0) + #else + #define myPrintGifError() PrintGifError() + #endif + unsigned char * loader_gif(FILE *f, int *w, int *h, int *t) { @@ -47,14 +62,14 @@ loader_gif(FILE *f, int *w, int *h, int { if (DGifGetRecordType(gif, &rec) == GIF_ERROR) { - PrintGifError(); + myPrintGifError(); rec = TERMINATE_RECORD_TYPE; } if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done)) { if (DGifGetImageDesc(gif) == GIF_ERROR) { - PrintGifError(); + myPrintGifError(); rec = TERMINATE_RECORD_TYPE; } *w = gif->Image.Width; diff -urpN imlib-1.9.15/config.h.in imlib-1.9.15.orig/config.h.in --- imlib-1.9.15.orig/config.h.in 2013-10-08 04:03:01.283185805 -0700 +++ imlib-1.9.15/config.h.in 2013-10-08 03:34:59.592257307 -0700 @@ -29,6 +29,9 @@ #undef HAVE_LIBGIF /* */ +#undef HAVE_GIF_ERROR_STRING + +/* */ #undef HAVE_LIBJPEG /* */ diff -urpN imlib-1.9.15.orig/configure.in imlib-1.9.15/configure.in --- imlib-1.9.15.orig/configure.in 2013-10-08 04:41:48.650713446 -0700 +++ imlib-1.9.15/configure.in 2013-10-08 05:05:56.877046795 -0700 @@ -253,10 +253,15 @@ AC_CHECK_LIB(tiff, TIFFReadScanline, AC_CHECK_HEADER(gif_lib.h, [AC_CHECK_LIB(ungif, DGifOpenFileName, [GIFLIBS="-lungif" - SUPPORT_LIBS="$SUPPORT_LIBS -lungif"; AC_DEFINE(HAVE_LIBGIF, 1, [ ])], + SUPPORT_LIBS="$SUPPORT_LIBS -lungif" + AC_CHECK_LIB(ungif, GifErrorString, + [AC_DEFINE(HAVE_GIF_ERROR_STRING, 1, [ ])]) + AC_DEFINE(HAVE_LIBGIF, 1, [ ])], [AC_CHECK_LIB(gif, DGifOpenFileName, [GIFLIBS="-lgif" SUPPORT_LIBS="$SUPPORT_LIBS -lgif" + AC_CHECK_LIB(gif, GifErrorString, + [AC_DEFINE(HAVE_GIF_ERROR_STRING, 1, [ ])]) AC_DEFINE(HAVE_LIBGIF, 1, [ ])], [AC_MSG_ERROR(*** GIF library file not found ***)], $GX_LIBS)],