From 7d09b2c04f99c25c6b02a93b8e12533312cc8bac Mon Sep 17 00:00:00 2001 From: Christophe CURIS Date: Sun, 26 Oct 2014 00:31:43 +0200 Subject: [PATCH] wrlib: add support for release 5.1.0 of the libgif As reported by Andrew, the compilation of the WRaster broke because there was an API change in libgif v5.1 versus the v5.0 (something had been forgotten for DGifCloseFile to be easily used in wrappers for dynamic languages). Now, if we have detected that we're in 5.x release, we use the GIFLIB_MINOR macro to see what the function prototype is (this macro was introduced only in 4.1.6 so we cannot fully rely on it to detect the version of the library). The possible error code is not used because at the place we use the function we would not be able do do anything more meaningful with it. Signed-off-by: Christophe CURIS --- wrlib/load_gif.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/wrlib/load_gif.c b/wrlib/load_gif.c index 7a6cfc7f..d70d0444 100644 --- a/wrlib/load_gif.c +++ b/wrlib/load_gif.c @@ -81,7 +81,11 @@ RImage *RLoadGIF(const char *file, int index) } if (gif->SWidth < 1 || gif->SHeight < 1) { +#if (USE_GIF == 5) && (GIFLIB_MINOR >= 1) + DGifCloseFile(gif, NULL); +#else DGifCloseFile(gif); +#endif RErrorCode = RERR_BADIMAGEFILE; return NULL; } @@ -216,7 +220,11 @@ RImage *RLoadGIF(const char *file, int index) free(buffer); if (gif) +#if (USE_GIF == 5) && (GIFLIB_MINOR >= 1) + DGifCloseFile(gif, NULL); +#else DGifCloseFile(gif); +#endif return image; }