50 lines
1.2 KiB
C
50 lines
1.2 KiB
C
$NetBSD: patch-src_im__gif.c,v 1.2 2014/05/25 07:49:13 obache Exp $
|
|
|
|
* giflib>=5.0 API change
|
|
|
|
--- src/im_gif.c.orig 2005-01-04 19:18:57.000000000 +0000
|
|
+++ src/im_gif.c
|
|
@@ -77,10 +77,12 @@ static const char *_errstr(int err);
|
|
void
|
|
gif_close(image_gif *im)
|
|
{
|
|
+ int giferror;
|
|
+
|
|
free(im->pal);
|
|
|
|
- if (DGifCloseFile(im->gif) != GIF_OK)
|
|
- throwf(EIO, "error closing: %s", _errstr(GifLastError()));
|
|
+ if (DGifCloseFile(im->gif, &giferror) != GIF_OK)
|
|
+ throwf(EIO, "error closing: %s", _errstr(giferror));
|
|
|
|
image_free((image *)im);
|
|
}
|
|
@@ -115,8 +117,9 @@ gif_open(char *fname)
|
|
image_gif *im;
|
|
GifFileType *gif;
|
|
exception ex;
|
|
+ int giferror;
|
|
|
|
- if ((gif=DGifOpenFileName(fname)) == NULL)
|
|
+ if ((gif=DGifOpenFileName(fname, &giferror)) == NULL)
|
|
return NULL;
|
|
|
|
if (catch(&ex) == 0) {
|
|
@@ -124,7 +127,7 @@ gif_open(char *fname)
|
|
drop();
|
|
}
|
|
else {
|
|
- DGifCloseFile(im->gif);
|
|
+ DGifCloseFile(im->gif, NULL);
|
|
throw(&ex);
|
|
}
|
|
|
|
@@ -196,7 +199,7 @@ gif_read_start(image_gif *im)
|
|
|
|
if (DGifSlurp(im->gif) != GIF_OK)
|
|
throwf(EIO, "error reading image: %s",
|
|
- _errstr(GifLastError()));
|
|
+ _errstr(im->gif->Error));
|
|
|
|
if (im->gif->ImageCount != 1)
|
|
throws(EOPNOTSUPP, "multi-image GIFs not supported");
|