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