xref: /aosp_15_r20/external/giflib/gif_err.c (revision 324bb76b8d05e2a05aa88511fff61cf3f9ca5892)
1 /*****************************************************************************
2 
3 gif_err.c - handle error reporting for the GIF library.
4 
5 SPDX-License-Identifier: MIT
6 
7 ****************************************************************************/
8 
9 #include <stdio.h>
10 
11 #include "gif_lib.h"
12 #include "gif_lib_private.h"
13 
14 /*****************************************************************************
15  Return a string description of  the last GIF error
16 *****************************************************************************/
GifErrorString(int ErrorCode)17 const char *GifErrorString(int ErrorCode) {
18 	const char *Err;
19 
20 	switch (ErrorCode) {
21 	case E_GIF_ERR_OPEN_FAILED:
22 		Err = "Failed to open given file";
23 		break;
24 	case E_GIF_ERR_WRITE_FAILED:
25 		Err = "Failed to write to given file";
26 		break;
27 	case E_GIF_ERR_HAS_SCRN_DSCR:
28 		Err = "Screen descriptor has already been set";
29 		break;
30 	case E_GIF_ERR_HAS_IMAG_DSCR:
31 		Err = "Image descriptor is still active";
32 		break;
33 	case E_GIF_ERR_NO_COLOR_MAP:
34 		Err = "Neither global nor local color map";
35 		break;
36 	case E_GIF_ERR_DATA_TOO_BIG:
37 		Err = "Number of pixels bigger than width * height";
38 		break;
39 	case E_GIF_ERR_NOT_ENOUGH_MEM:
40 		Err = "Failed to allocate required memory";
41 		break;
42 	case E_GIF_ERR_DISK_IS_FULL:
43 		Err = "Write failed (disk full?)";
44 		break;
45 	case E_GIF_ERR_CLOSE_FAILED:
46 		Err = "Failed to close given file";
47 		break;
48 	case E_GIF_ERR_NOT_WRITEABLE:
49 		Err = "Given file was not opened for write";
50 		break;
51 	case D_GIF_ERR_OPEN_FAILED:
52 		Err = "Failed to open given file";
53 		break;
54 	case D_GIF_ERR_READ_FAILED:
55 		Err = "Failed to read from given file";
56 		break;
57 	case D_GIF_ERR_NOT_GIF_FILE:
58 		Err = "Data is not in GIF format";
59 		break;
60 	case D_GIF_ERR_NO_SCRN_DSCR:
61 		Err = "No screen descriptor detected";
62 		break;
63 	case D_GIF_ERR_NO_IMAG_DSCR:
64 		Err = "No Image Descriptor detected";
65 		break;
66 	case D_GIF_ERR_NO_COLOR_MAP:
67 		Err = "Neither global nor local color map";
68 		break;
69 	case D_GIF_ERR_WRONG_RECORD:
70 		Err = "Wrong record type detected";
71 		break;
72 	case D_GIF_ERR_DATA_TOO_BIG:
73 		Err = "Number of pixels bigger than width * height";
74 		break;
75 	case D_GIF_ERR_NOT_ENOUGH_MEM:
76 		Err = "Failed to allocate required memory";
77 		break;
78 	case D_GIF_ERR_CLOSE_FAILED:
79 		Err = "Failed to close given file";
80 		break;
81 	case D_GIF_ERR_NOT_READABLE:
82 		Err = "Given file was not opened for read";
83 		break;
84 	case D_GIF_ERR_IMAGE_DEFECT:
85 		Err = "Image is defective, decoding aborted";
86 		break;
87 	case D_GIF_ERR_EOF_TOO_SOON:
88 		Err = "Image EOF detected before image complete";
89 		break;
90 	default:
91 		Err = NULL;
92 		break;
93 	}
94 	return Err;
95 }
96 
97 /* end */
98