|
Lines 43-56
Link Here
|
| 43 |
/* libgif 4.2.0 has retired PrintGifError() and added GifErrorString() */ |
43 |
/* libgif 4.2.0 has retired PrintGifError() and added GifErrorString() */ |
| 44 |
#if defined(GIFLIB_MAJOR) && defined(GIFLIB_MINOR) && \ |
44 |
#if defined(GIFLIB_MAJOR) && defined(GIFLIB_MINOR) && \ |
| 45 |
((GIFLIB_MAJOR == 4 && GIFLIB_MINOR >= 2) || GIFLIB_MAJOR > 4) |
45 |
((GIFLIB_MAJOR == 4 && GIFLIB_MINOR >= 2) || GIFLIB_MAJOR > 4) |
|
|
46 |
#if GIFLIB_MAJOR > 4 |
| 47 |
static void PrintGifError(int ErrorCode) |
| 48 |
#else |
| 46 |
static void PrintGifError(void) |
49 |
static void PrintGifError(void) |
|
|
50 |
#endif |
| 47 |
{ |
51 |
{ |
|
|
52 |
#if GIFLIB_MAJOR > 4 |
| 53 |
char *Err = GifErrorString(ErrorCode); |
| 54 |
#else |
| 48 |
char *Err = GifErrorString(); |
55 |
char *Err = GifErrorString(); |
|
|
56 |
#endif |
| 49 |
|
57 |
|
| 50 |
if (Err != NULL) { |
58 |
if (Err != NULL) { |
| 51 |
fprintf(stderr, "\nGIF-LIB error: %s.\n", Err); |
59 |
fprintf(stderr, "\nGIF-LIB error: %s.\n", Err); |
| 52 |
} else { |
60 |
} else { |
|
|
61 |
#if GIFLIB_MAJOR > 4 |
| 62 |
fprintf(stderr, "\nGIF-LIB undefined error %d.\n", ErrorCode); |
| 63 |
#else |
| 53 |
fprintf(stderr, "\nGIF-LIB undefined error %d.\n", GifError()); |
64 |
fprintf(stderr, "\nGIF-LIB undefined error %d.\n", GifError()); |
|
|
65 |
#endif |
| 54 |
} |
66 |
} |
| 55 |
} |
67 |
} |
| 56 |
#endif |
68 |
#endif |
|
Lines 107-113
Link Here
|
| 107 |
buf = 0; |
119 |
buf = 0; |
| 108 |
saved = 0; |
120 |
saved = 0; |
| 109 |
|
121 |
|
|
|
122 |
#if GIFLIB_MAJOR > 4 |
| 123 |
int ErrorCode; |
| 124 |
gif = DGifOpenFileName(file.c_str(), &ErrorCode); |
| 125 |
#else |
| 110 |
gif = DGifOpenFileName(file.c_str()); |
126 |
gif = DGifOpenFileName(file.c_str()); |
|
|
127 |
#endif |
| 111 |
|
128 |
|
| 112 |
// for safety... |
129 |
// for safety... |
| 113 |
if(!gif) |
130 |
if(!gif) |
|
Lines 198-204
Link Here
|
| 198 |
{ |
215 |
{ |
| 199 |
if (DGifGetRecordType(gif, &record) == GIF_ERROR) |
216 |
if (DGifGetRecordType(gif, &record) == GIF_ERROR) |
| 200 |
{ |
217 |
{ |
|
|
218 |
#if GIFLIB_MAJOR > 4 |
| 219 |
PrintGifError(gif->Error); |
| 220 |
#else |
| 201 |
PrintGifError(); |
221 |
PrintGifError(); |
|
|
222 |
#endif |
| 202 |
return SQE_R_BADFILE; |
223 |
return SQE_R_BADFILE; |
| 203 |
} |
224 |
} |
| 204 |
|
225 |
|
|
Lines 207-213
Link Here
|
| 207 |
case IMAGE_DESC_RECORD_TYPE: |
228 |
case IMAGE_DESC_RECORD_TYPE: |
| 208 |
if(DGifGetImageDesc(gif) == GIF_ERROR) |
229 |
if(DGifGetImageDesc(gif) == GIF_ERROR) |
| 209 |
{ |
230 |
{ |
|
|
231 |
#if GIFLIB_MAJOR > 4 |
| 232 |
PrintGifError(gif->Error); |
| 233 |
#else |
| 210 |
PrintGifError(); |
234 |
PrintGifError(); |
|
|
235 |
#endif |
| 211 |
return SQE_R_BADFILE; |
236 |
return SQE_R_BADFILE; |
| 212 |
} |
237 |
} |
| 213 |
|
238 |
|
|
Lines 243-249
Link Here
|
| 243 |
case EXTENSION_RECORD_TYPE: |
268 |
case EXTENSION_RECORD_TYPE: |
| 244 |
if(DGifGetExtension(gif, &ExtCode, &Extension) == GIF_ERROR) |
269 |
if(DGifGetExtension(gif, &ExtCode, &Extension) == GIF_ERROR) |
| 245 |
{ |
270 |
{ |
|
|
271 |
#if GIFLIB_MAJOR > 4 |
| 272 |
PrintGifError(gif->Error); |
| 273 |
#else |
| 246 |
PrintGifError(); |
274 |
PrintGifError(); |
|
|
275 |
#endif |
| 247 |
return SQE_R_BADFILE; |
276 |
return SQE_R_BADFILE; |
| 248 |
} |
277 |
} |
| 249 |
|
278 |
|
|
Lines 287-293
Link Here
|
| 287 |
{ |
316 |
{ |
| 288 |
if(DGifGetExtensionNext(gif, &Extension) == GIF_ERROR) |
317 |
if(DGifGetExtensionNext(gif, &Extension) == GIF_ERROR) |
| 289 |
{ |
318 |
{ |
|
|
319 |
#if GIFLIB_MAJOR > 4 |
| 320 |
PrintGifError(gif->Error); |
| 321 |
#else |
| 290 |
PrintGifError(); |
322 |
PrintGifError(); |
|
|
323 |
#endif |
| 291 |
return SQE_R_BADFILE; |
324 |
return SQE_R_BADFILE; |
| 292 |
} |
325 |
} |
| 293 |
} |
326 |
} |
|
Lines 366-372
Link Here
|
| 366 |
{ |
399 |
{ |
| 367 |
if(DGifGetLine(gif, buf, Width) == GIF_ERROR) |
400 |
if(DGifGetLine(gif, buf, Width) == GIF_ERROR) |
| 368 |
{ |
401 |
{ |
|
|
402 |
#if GIFLIB_MAJOR > 4 |
| 403 |
PrintGifError(gif->Error); |
| 404 |
#else |
| 369 |
PrintGifError(); |
405 |
PrintGifError(); |
|
|
406 |
#endif |
| 370 |
memset(scan, 255, im->w * sizeof(RGBA)); |
407 |
memset(scan, 255, im->w * sizeof(RGBA)); |
| 371 |
return SQE_R_BADFILE; |
408 |
return SQE_R_BADFILE; |
| 372 |
} |
409 |
} |
|
Lines 439-445
Link Here
|
| 439 |
if(DGifGetLine(gif, buf, Width) == GIF_ERROR) |
476 |
if(DGifGetLine(gif, buf, Width) == GIF_ERROR) |
| 440 |
{ |
477 |
{ |
| 441 |
memset(scan, 255, im->w * sizeof(RGBA)); |
478 |
memset(scan, 255, im->w * sizeof(RGBA)); |
|
|
479 |
#if GIFLIB_MAJOR > 4 |
| 480 |
PrintGifError(gif->Error); |
| 481 |
#else |
| 442 |
PrintGifError(); |
482 |
PrintGifError(); |
|
|
483 |
#endif |
| 443 |
return SQE_R_BADFILE; |
484 |
return SQE_R_BADFILE; |
| 444 |
} |
485 |
} |
| 445 |
else |
486 |
else |