diff options
Diffstat (limited to 'src/image.c')
-rw-r--r-- | src/image.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/image.c b/src/image.c index e3e540e5e28..3f9111a7093 100644 --- a/src/image.c +++ b/src/image.c @@ -8754,10 +8754,21 @@ gif_load (struct frame *f, struct image *img) rc = DGifSlurp (gif); if (rc == GIF_ERROR || gif->ImageCount <= 0) { - if (NILP (specified_data)) - image_error ("Error reading `%s'", img->spec); +#if HAVE_GIFERRORSTRING + const char *errstr = GifErrorString (gif->Error); + if (errstr) + if (NILP (specified_data)) + image_error ("Error reading `%s' (%s)", img->spec, + build_string (errstr)); + else + image_error ("Error reading GIF data: %s", + build_string (errstr)); else - image_error ("Error reading GIF data"); +#endif + if (NILP (specified_data)) + image_error ("Error reading `%s'", img->spec); + else + image_error ("Error reading GIF data"); goto gif_error; } |