[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Swftools-common] [PATCH] build: support for giflib-5.x
From: |
Jan Engelhardt |
Subject: |
[Swftools-common] [PATCH] build: support for giflib-5.x |
Date: |
Wed, 26 Jun 2013 03:10:35 +0200 |
The API/ABI has changed in giflib-5.x (libgif.so.6). Deal with it.
---
src/gif2swf.c | 28 ++++++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/src/gif2swf.c b/src/gif2swf.c
index 2359da5..5e52ea8 100644
--- a/src/gif2swf.c
+++ b/src/gif2swf.c
@@ -222,6 +222,7 @@ TAG *MovieAddFrame(SWF * swf, TAG * t, char *sname, int id,
int imgidx)
GifFileType *gft;
FILE *fi;
+ int ret;
if ((fi = fopen(sname, "rb")) == NULL) {
if (VERBOSE(1))
@@ -230,13 +231,22 @@ TAG *MovieAddFrame(SWF * swf, TAG * t, char *sname, int
id, int imgidx)
}
fclose(fi);
- if ((gft = DGifOpenFileName(sname)) == NULL) {
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
+ gft = DGifOpenFileName(sname, NULL);
+#else
+ gft = DGifOpenFileName(sname);
+#endif
+ if (gft == NULL) {
fprintf(stderr, "%s is not a GIF file!\n", sname);
return t;
}
- if (DGifSlurp(gft) != GIF_OK) {
+ if ((ret = DGifSlurp(gft)) != GIF_OK) {
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
+ fprintf(stderr, "GIF-LIB: %s\n", GifErrorString(ret));
+#else
PrintGifError();
+#endif
return t;
}
@@ -465,6 +475,7 @@ int CheckInputFile(char *fname, char **realname)
FILE *fi;
char *s = malloc(strlen(fname) + 5);
GifFileType *gft;
+ int ret;
if (!s)
exit(2);
@@ -488,7 +499,12 @@ int CheckInputFile(char *fname, char **realname)
}
fclose(fi);
- if ((gft = DGifOpenFileName(s)) == NULL) {
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
+ gft = DGifOpenFileName(s, NULL);
+#else
+ gft = DGifOpenFileName(s);
+#endif
+ if (gft == NULL) {
fprintf(stderr, "%s is not a GIF file!\n", fname);
return -1;
}
@@ -498,8 +514,12 @@ int CheckInputFile(char *fname, char **realname)
if (global.max_image_height < gft->SHeight)
global.max_image_height = gft->SHeight;
- if (DGifSlurp(gft) != GIF_OK) {
+ if ((ret = DGifSlurp(gft)) != GIF_OK) {
+#if defined(GIFLIB_MAJOR) && GIFLIB_MAJOR >= 5
+ fprintf(stderr, "GIF-LIB: %s\n", GifErrorString(ret));
+#else
PrintGifError();
+#endif
return -1;
}
// After DGifSlurp() call, gft->ImageCount become available
--
1.8.2
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Swftools-common] [PATCH] build: support for giflib-5.x,
Jan Engelhardt <=