--- /dev/null
+diff -Naur fbida-2.09-orig/rd/read-gif.c fbida-2.09/rd/read-gif.c
+--- fbida-2.09-orig/rd/read-gif.c 2013-07-29 16:43:26.949362012 -0400
++++ fbida-2.09/rd/read-gif.c 2013-07-29 16:43:43.669166969 -0400
+@@ -13,6 +13,14 @@
+ int w,h;
+ };
+
++static void
++localPrintGifError(void)
++{
++ int ErrorCode=0;
++ GifErrorString(ErrorCode);
++ fprintf(stderr, "\nGIF-LIB error: %i.\n", ErrorCode);
++}
++
+ static GifRecordType
+ gif_fileread(struct gif_state *h)
+ {
+@@ -25,7 +33,7 @@
+ if (GIF_ERROR == DGifGetRecordType(h->gif,&RecordType)) {
+ if (debug)
+ fprintf(stderr,"gif: DGifGetRecordType failed\n");
+- PrintGifError();
++ localPrintGifError();
+ return -1;
+ }
+ switch (RecordType) {
+@@ -42,7 +50,7 @@
+ if (rc == GIF_ERROR) {
+ if (debug)
+ fprintf(stderr,"gif: DGifGetExtension failed\n");
+- PrintGifError();
++ localPrintGifError();
+ return -1;
+ }
+ if (debug) {
+@@ -93,12 +101,13 @@
+ struct gif_state *h;
+ GifRecordType RecordType;
+ int i, image = 0;
+-
++ int Error;
++
+ h = malloc(sizeof(*h));
+ memset(h,0,sizeof(*h));
+
+ h->infile = fp;
+- h->gif = DGifOpenFileHandle(fileno(fp));
++ h->gif = DGifOpenFileHandle(fileno(fp), &Error);
+ h->row = malloc(h->gif->SWidth * sizeof(GifPixelType));
+
+ while (0 == image) {
+@@ -108,7 +117,7 @@
+ if (GIF_ERROR == DGifGetImageDesc(h->gif)) {
+ if (debug)
+ fprintf(stderr,"gif: DGifGetImageDesc failed\n");
+- PrintGifError();
++ localPrintGifError();
+ }
+ if (NULL == h->gif->SColorMap &&
+ NULL == h->gif->Image.ColorMap) {