Lines 431-436
Link Here
|
431 |
#endif /* HAVE_LIBTIFF */ |
431 |
#endif /* HAVE_LIBTIFF */ |
432 |
|
432 |
|
433 |
#ifdef HAVE_LIBGIF |
433 |
#ifdef HAVE_LIBGIF |
|
|
434 |
/*------------------------*/ |
435 |
static void |
436 |
_PrintGifError(GifFileType *gif) |
437 |
{ |
438 |
/* GIFLIB_MAJOR is only defined in libgif >= 4.2.0 */ |
439 |
/* libgif 4.2.0 has retired PrintGifError() and added GifErrorString() */ |
440 |
#if defined(GIFLIB_MAJOR) && defined(GIFLIB_MINOR) && \ |
441 |
((GIFLIB_MAJOR == 4 && GIFLIB_MINOR >= 2) || GIFLIB_MAJOR > 4) |
442 |
/* Static string actually, hence the const char* cast */ |
443 |
|
444 |
#if GIFLIB_MAJOR >= 5 |
445 |
const char* gifliberr = (const char*) GifErrorString(gif->Error); |
446 |
#else |
447 |
const char* gifliberr = (const char*) GifErrorString(); |
448 |
#endif |
449 |
if (gifliberr == NULL) |
450 |
gifliberr = "Unknown error"; |
451 |
fprintf(stderr, "%s\n", gifliberr); |
452 |
#else |
453 |
PrintGifError(); |
454 |
#endif |
455 |
} |
456 |
/*------------------------*/ |
434 |
unsigned char * |
457 |
unsigned char * |
435 |
_LoadGIF(ImlibData * id, FILE *f, int *w, int *h, int *t) |
458 |
_LoadGIF(ImlibData * id, FILE *f, int *w, int *h, int *t) |
436 |
{ |
459 |
{ |
Lines 462-475
Link Here
|
462 |
{ |
485 |
{ |
463 |
if (DGifGetRecordType(gif, &rec) == GIF_ERROR) |
486 |
if (DGifGetRecordType(gif, &rec) == GIF_ERROR) |
464 |
{ |
487 |
{ |
465 |
PrintGifError(); |
488 |
_PrintGifError(gif); |
466 |
rec = TERMINATE_RECORD_TYPE; |
489 |
rec = TERMINATE_RECORD_TYPE; |
467 |
} |
490 |
} |
468 |
if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done)) |
491 |
if ((rec == IMAGE_DESC_RECORD_TYPE) && (!done)) |
469 |
{ |
492 |
{ |
470 |
if (DGifGetImageDesc(gif) == GIF_ERROR) |
493 |
if (DGifGetImageDesc(gif) == GIF_ERROR) |
471 |
{ |
494 |
{ |
472 |
PrintGifError(); |
495 |
_PrintGifError(gif); |
473 |
rec = TERMINATE_RECORD_TYPE; |
496 |
rec = TERMINATE_RECORD_TYPE; |
474 |
} |
497 |
} |
475 |
*w = gif->Image.Width; |
498 |
*w = gif->Image.Width; |