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