Wrong initialization for nb_inserted in the deserialization.
[gliv.git] / src / formats.c
blob70e61046adbc335d249beafb5962de1b394b33ac
1 /* ANSI-C code produced by gperf version 3.0 */
2 /* Command-line: gperf -n --multiple-iterations 64 --output ./formats.c ../tools/formats.gperf */
3 /* Computed positions: -k'1-4' */
5 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
6 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
7 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
8 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
9 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
10 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
11 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
12 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
13 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
14 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
15 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
16 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
17 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
18 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
19 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
20 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
21 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
22 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
23 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
24 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
25 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
26 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
27 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
28 /* The character set is not based on ISO-646. */
29 #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
30 #endif
32 #line 1 "../tools/formats.gperf"
35 #include "gliv.h"
36 #include "formats.h"
38 #include <string.h>
40 #define TOTAL_KEYWORDS 21
41 #define MIN_WORD_LENGTH 1
42 #define MAX_WORD_LENGTH 4
43 #define MIN_HASH_VALUE 0
44 #define MAX_HASH_VALUE 20
45 /* maximum key range = 21, duplicates = 0 */
47 #ifndef GPERF_DOWNCASE
48 #define GPERF_DOWNCASE 1
49 static unsigned char gperf_downcase[256] =
51 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
52 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
53 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
54 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
55 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
56 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
57 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
58 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
59 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
60 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
61 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
62 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
63 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
64 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
65 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
66 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
67 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
68 255
70 #endif
72 #ifndef GPERF_CASE_STRCMP
73 #define GPERF_CASE_STRCMP 1
74 static int
75 gperf_case_strcmp (register const char *s1, register const char *s2)
77 for (;;)
79 unsigned char c1 = gperf_downcase[(unsigned char)*s1++];
80 unsigned char c2 = gperf_downcase[(unsigned char)*s2++];
81 if (c1 != 0 && c1 == c2)
82 continue;
83 return (int)c1 - (int)c2;
86 #endif
88 #ifdef __GNUC__
89 __inline
90 #else
91 #ifdef __cplusplus
92 inline
93 #endif
94 #endif
95 static unsigned int
96 hash (register const char *str, register unsigned int len)
98 static const unsigned char asso_values[] =
100 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
101 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
102 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
103 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
104 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
105 13, 21, 21, 21, 21, 21, 21, 21, 21, 21,
106 21, 21, 21, 21, 21, 11, 7, 10, 21, 2,
107 2, 1, 21, 0, 2, 21, 10, 2, 5, 9,
108 2, 21, 0, 7, 0, 21, 6, 2, 6, 21,
109 0, 21, 21, 21, 21, 21, 21, 11, 7, 10,
110 21, 2, 2, 1, 21, 0, 2, 21, 10, 2,
111 5, 9, 2, 21, 0, 7, 0, 21, 6, 2,
112 6, 21, 0, 21, 21, 21, 21, 21, 21, 21,
113 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
114 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
115 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
116 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
117 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
118 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
119 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
120 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
121 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
122 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
123 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
124 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
125 21, 21, 21, 21, 21, 21
127 register int hval = 0;
129 switch (len)
131 default:
132 hval += asso_values[(unsigned char)str[3]];
133 /*FALLTHROUGH*/
134 case 3:
135 hval += asso_values[(unsigned char)str[2]];
136 /*FALLTHROUGH*/
137 case 2:
138 hval += asso_values[(unsigned char)str[1]];
139 /*FALLTHROUGH*/
140 case 1:
141 hval += asso_values[(unsigned char)str[0]];
142 break;
144 return hval;
147 #ifdef __GNUC__
148 __inline
149 #endif
150 const struct format *
151 ext_to_loader (register const char *str, register unsigned int len)
153 static const struct format wordlist[] =
155 #line 39 "../tools/formats.gperf"
156 {"z", LOADER_DECOMP},
157 #line 24 "../tools/formats.gperf"
158 {"gz", LOADER_DECOMP},
159 #line 34 "../tools/formats.gperf"
160 {"tif", LOADER_PIXBUF},
161 #line 22 "../tools/formats.gperf"
162 {"gif", LOADER_PIXBUF},
163 #line 35 "../tools/formats.gperf"
164 {"tiff", LOADER_PIXBUF},
165 #line 28 "../tools/formats.gperf"
166 {"jpg", LOADER_PIXBUF},
167 #line 26 "../tools/formats.gperf"
168 {"jpe", LOADER_PIXBUF},
169 #line 27 "../tools/formats.gperf"
170 {"jpeg", LOADER_PIXBUF},
171 #line 29 "../tools/formats.gperf"
172 {"png", LOADER_PIXBUF},
173 #line 30 "../tools/formats.gperf"
174 {"pnm", LOADER_PIXBUF},
175 #line 38 "../tools/formats.gperf"
176 {"xpm", LOADER_PIXBUF},
177 #line 20 "../tools/formats.gperf"
178 {"bmp", LOADER_PIXBUF},
179 #line 33 "../tools/formats.gperf"
180 {"tga", LOADER_PIXBUF},
181 #line 36 "../tools/formats.gperf"
182 {"wbmp", LOADER_PIXBUF},
183 #line 32 "../tools/formats.gperf"
184 {"svg", LOADER_PIXBUF},
185 #line 37 "../tools/formats.gperf"
186 {"xbm", LOADER_PIXBUF},
187 #line 19 "../tools/formats.gperf"
188 {"ani", LOADER_PIXBUF},
189 #line 23 "../tools/formats.gperf"
190 {"gliv", LOADER_DOT_GLIV},
191 #line 31 "../tools/formats.gperf"
192 {"ras", LOADER_PIXBUF},
193 #line 25 "../tools/formats.gperf"
194 {"ico", LOADER_PIXBUF},
195 #line 21 "../tools/formats.gperf"
196 {"bz2", LOADER_DECOMP}
199 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
201 register int key = hash (str, len);
203 if (key <= MAX_HASH_VALUE && key >= 0)
205 register const char *s = wordlist[key].name;
207 if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_strcmp (str, s))
208 return &wordlist[key];
211 return 0;