reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
HeaderHash.cxx
Go to the documentation of this file.
1/* C++ code produced by gperf version 3.1 */
2/* Command-line: gperf -C -D -E -L C++ -t --key-positions='*' --compare-strncmp --ignore-case -Z HeaderHash HeaderHash.gperf */
3
4#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
5 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
6 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
7 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
8 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
9 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
10 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
11 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
12 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
13 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
14 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
15 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
16 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
17 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
18 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
19 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
20 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
21 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
22 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
23 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
24 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
25 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
26 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
27/* The character set is not based on ISO-646. */
28#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
29#endif
30
31#line 1 "HeaderHash.gperf"
32
33#include <string.h>
34#include <ctype.h>
35#include "resip/stack/HeaderTypes.hxx"
36
37namespace resip
38{
39using namespace std;
40#line 10 "HeaderHash.gperf"
41struct headers { const char *name; Headers::Type type; };
42/* maximum key range = 478, duplicates = 0 */
43
44#ifndef GPERF_DOWNCASE
45#define GPERF_DOWNCASE 1
46static unsigned char gperf_downcase[256] =
47 {
48 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
49 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
50 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
51 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
52 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
53 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
54 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
55 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
56 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
57 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
58 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
59 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
60 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
61 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
62 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
63 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
64 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
65 255
66 };
67#endif
68
69#ifndef GPERF_CASE_STRNCMP
70#define GPERF_CASE_STRNCMP 1
71static int
72gperf_case_strncmp (const char *s1, const char *s2, size_t n)
73{
74 for (; n > 0;)
75 {
76 unsigned char c1 = gperf_downcase[(unsigned char)*s1++];
77 unsigned char c2 = gperf_downcase[(unsigned char)*s2++];
78 if (c1 != 0 && c1 == c2)
79 {
80 n--;
81 continue;
82 }
83 return (int)c1 - (int)c2;
84 }
85 return 0;
86}
87#endif
88
89class HeaderHash
90{
91private:
92 static inline unsigned int hash (const char *str, size_t len);
93public:
94 static const struct headers *in_word_set (const char *str, size_t len);
95};
96
97inline unsigned int
98HeaderHash::hash (const char *str, size_t len)
99{
100 static const unsigned short asso_values[] =
101 {
102 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
103 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
104 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
105 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
106 479, 479, 479, 479, 479, 0, 479, 479, 479, 5,
107 0, 479, 479, 479, 479, 479, 479, 479, 479, 479,
108 479, 479, 479, 479, 479, 0, 65, 25, 0, 20,
109 45, 5, 15, 30, 15, 100, 50, 40, 0, 5,
110 0, 30, 15, 10, 0, 0, 85, 0, 115, 35,
111 0, 479, 479, 479, 479, 479, 479, 0, 65, 25,
112 0, 20, 45, 5, 15, 30, 15, 100, 50, 40,
113 0, 5, 0, 30, 15, 10, 0, 0, 85, 0,
114 115, 35, 0, 479, 479, 479, 479, 479, 479, 479,
115 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
116 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
117 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
118 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
119 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
120 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
121 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
122 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
123 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
124 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
125 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
126 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
127 479, 479, 479, 479, 479, 479
128 };
129 unsigned int hval = len;
130
131 switch (hval)
132 {
133 default:
134 hval += asso_values[static_cast<unsigned char>(str[28])];
135 /*FALLTHROUGH*/
136 case 28:
137 hval += asso_values[static_cast<unsigned char>(str[27])];
138 /*FALLTHROUGH*/
139 case 27:
140 hval += asso_values[static_cast<unsigned char>(str[26])];
141 /*FALLTHROUGH*/
142 case 26:
143 hval += asso_values[static_cast<unsigned char>(str[25])];
144 /*FALLTHROUGH*/
145 case 25:
146 hval += asso_values[static_cast<unsigned char>(str[24])];
147 /*FALLTHROUGH*/
148 case 24:
149 hval += asso_values[static_cast<unsigned char>(str[23])];
150 /*FALLTHROUGH*/
151 case 23:
152 hval += asso_values[static_cast<unsigned char>(str[22])];
153 /*FALLTHROUGH*/
154 case 22:
155 hval += asso_values[static_cast<unsigned char>(str[21])];
156 /*FALLTHROUGH*/
157 case 21:
158 hval += asso_values[static_cast<unsigned char>(str[20])];
159 /*FALLTHROUGH*/
160 case 20:
161 hval += asso_values[static_cast<unsigned char>(str[19])];
162 /*FALLTHROUGH*/
163 case 19:
164 hval += asso_values[static_cast<unsigned char>(str[18])];
165 /*FALLTHROUGH*/
166 case 18:
167 hval += asso_values[static_cast<unsigned char>(str[17])];
168 /*FALLTHROUGH*/
169 case 17:
170 hval += asso_values[static_cast<unsigned char>(str[16])];
171 /*FALLTHROUGH*/
172 case 16:
173 hval += asso_values[static_cast<unsigned char>(str[15])];
174 /*FALLTHROUGH*/
175 case 15:
176 hval += asso_values[static_cast<unsigned char>(str[14])];
177 /*FALLTHROUGH*/
178 case 14:
179 hval += asso_values[static_cast<unsigned char>(str[13])];
180 /*FALLTHROUGH*/
181 case 13:
182 hval += asso_values[static_cast<unsigned char>(str[12])];
183 /*FALLTHROUGH*/
184 case 12:
185 hval += asso_values[static_cast<unsigned char>(str[11])];
186 /*FALLTHROUGH*/
187 case 11:
188 hval += asso_values[static_cast<unsigned char>(str[10])];
189 /*FALLTHROUGH*/
190 case 10:
191 hval += asso_values[static_cast<unsigned char>(str[9])];
192 /*FALLTHROUGH*/
193 case 9:
194 hval += asso_values[static_cast<unsigned char>(str[8])];
195 /*FALLTHROUGH*/
196 case 8:
197 hval += asso_values[static_cast<unsigned char>(str[7])];
198 /*FALLTHROUGH*/
199 case 7:
200 hval += asso_values[static_cast<unsigned char>(str[6])];
201 /*FALLTHROUGH*/
202 case 6:
203 hval += asso_values[static_cast<unsigned char>(str[5])];
204 /*FALLTHROUGH*/
205 case 5:
206 hval += asso_values[static_cast<unsigned char>(str[4])];
207 /*FALLTHROUGH*/
208 case 4:
209 hval += asso_values[static_cast<unsigned char>(str[3])];
210 /*FALLTHROUGH*/
211 case 3:
212 hval += asso_values[static_cast<unsigned char>(str[2])];
213 /*FALLTHROUGH*/
214 case 2:
215 hval += asso_values[static_cast<unsigned char>(str[1])];
216 /*FALLTHROUGH*/
217 case 1:
218 hval += asso_values[static_cast<unsigned char>(str[0])];
219 break;
220 }
221 return hval;
222}
223
224const struct headers *
225HeaderHash::in_word_set (const char *str, size_t len)
226{
227 enum
228 {
229 TOTAL_KEYWORDS = 114,
230 MIN_WORD_LENGTH = 1,
231 MAX_WORD_LENGTH = 29,
232 MIN_HASH_VALUE = 1,
233 MAX_HASH_VALUE = 478
234 };
235
236 static const struct headers wordlist[] =
237 {
238#line 20 "HeaderHash.gperf"
239 {"t", Headers::To},
240#line 26 "HeaderHash.gperf"
241 {"o", Headers::Event},
242#line 36 "HeaderHash.gperf"
243 {"to", Headers::To},
244#line 18 "HeaderHash.gperf"
245 {"s", Headers::Subject},
246#line 22 "HeaderHash.gperf"
247 {"r", Headers::ReferTo},
248#line 99 "HeaderHash.gperf"
249 {"path", Headers::Path},
250#line 14 "HeaderHash.gperf"
251 {"e", Headers::ContentEncoding},
252#line 52 "HeaderHash.gperf"
253 {"date", Headers::Date},
254#line 16 "HeaderHash.gperf"
255 {"c", Headers::ContentType},
256#line 12 "HeaderHash.gperf"
257 {"i", Headers::CallID},
258#line 64 "HeaderHash.gperf"
259 {"host", Headers::Host},
260#line 25 "HeaderHash.gperf"
261 {"y", Headers::Identity},
262#line 13 "HeaderHash.gperf"
263 {"m", Headers::Contact},
264#line 34 "HeaderHash.gperf"
265 {"route", Headers::Route},
266#line 17 "HeaderHash.gperf"
267 {"f", Headers::From},
268#line 15 "HeaderHash.gperf"
269 {"l", Headers::ContentLength},
270#line 93 "HeaderHash.gperf"
271 {"join", Headers::Join},
272#line 103 "HeaderHash.gperf"
273 {"reason", Headers::Reason},
274#line 83 "HeaderHash.gperf"
275 {"warning", Headers::Warning},
276#line 77 "HeaderHash.gperf"
277 {"supported", Headers::Supported},
278#line 81 "HeaderHash.gperf"
279 {"unsupported", Headers::Unsupported},
280#line 29 "HeaderHash.gperf"
281 {"contact", Headers::Contact},
282#line 23 "HeaderHash.gperf"
283 {"b", Headers::ReferredBy},
284#line 90 "HeaderHash.gperf"
285 {"hide", Headers::UNKNOWN},
286#line 75 "HeaderHash.gperf"
287 {"sip-etag", Headers::SIPETag},
288#line 38 "HeaderHash.gperf"
289 {"accept", Headers::Accept},
290#line 110 "HeaderHash.gperf"
291 {"rseq", Headers::RSeq},
292#line 82 "HeaderHash.gperf"
293 {"user-agent", Headers::UserAgent},
294#line 21 "HeaderHash.gperf"
295 {"v", Headers::Via},
296#line 27 "HeaderHash.gperf"
297 {"cseq", Headers::CSeq},
298#line 47 "HeaderHash.gperf"
299 {"content-id", Headers::ContentId},
300#line 63 "HeaderHash.gperf"
301 {"origin", Headers::Origin},
302#line 19 "HeaderHash.gperf"
303 {"k", Headers::Supported},
304#line 57 "HeaderHash.gperf"
305 {"organization", Headers::Organization},
306#line 116 "HeaderHash.gperf"
307 {"min-se", Headers::MinSE},
308#line 125 "HeaderHash.gperf"
309 {"user-to-user", Headers::UserToUser},
310#line 32 "HeaderHash.gperf"
311 {"from", Headers::From},
312#line 43 "HeaderHash.gperf"
313 {"allow", Headers::Allow},
314#line 86 "HeaderHash.gperf"
315 {"authorization", Headers::Authorization},
316#line 24 "HeaderHash.gperf"
317 {"x", Headers::SessionExpires},
318#line 50 "HeaderHash.gperf"
319 {"content-type", Headers::ContentType},
320#line 37 "HeaderHash.gperf"
321 {"via", Headers::Via},
322#line 79 "HeaderHash.gperf"
323 {"answer-mode", Headers::AnswerMode},
324#line 91 "HeaderHash.gperf"
325 {"identity", Headers::Identity},
326#line 84 "HeaderHash.gperf"
327 {"www-authenticate",Headers::WWWAuthenticate},
328#line 104 "HeaderHash.gperf"
329 {"refer-to",Headers::ReferTo},
330#line 89 "HeaderHash.gperf"
331 {"event", Headers::Event},
332#line 69 "HeaderHash.gperf"
333 {"record-route", Headers::RecordRoute},
334#line 70 "HeaderHash.gperf"
335 {"reply-to", Headers::ReplyTo},
336#line 71 "HeaderHash.gperf"
337 {"require", Headers::Require},
338#line 65 "HeaderHash.gperf"
339 {"priority", Headers::Priority},
340#line 39 "HeaderHash.gperf"
341 {"accept-contact", Headers::AcceptContact},
342#line 88 "HeaderHash.gperf"
343 {"encryption", Headers::UNKNOWN},
344#line 35 "HeaderHash.gperf"
345 {"subject", Headers::Subject},
346#line 100 "HeaderHash.gperf"
347 {"target-dialog", Headers::TargetDialog},
348#line 102 "HeaderHash.gperf"
349 {"rack", Headers::RAck},
350#line 49 "HeaderHash.gperf"
351 {"content-language", Headers::ContentLanguage},
352#line 106 "HeaderHash.gperf"
353 {"replaces",Headers::Replaces},
354#line 78 "HeaderHash.gperf"
355 {"timestamp", Headers::Timestamp},
356#line 48 "HeaderHash.gperf"
357 {"content-encoding", Headers::ContentEncoding},
358#line 30 "HeaderHash.gperf"
359 {"content-length", Headers::ContentLength},
360#line 53 "HeaderHash.gperf"
361 {"error-info", Headers::ErrorInfo},
362#line 95 "HeaderHash.gperf"
363 {"p-associated-uri", Headers::PAssociatedUri},
364#line 28 "HeaderHash.gperf"
365 {"call-id", Headers::CallID},
366#line 107 "HeaderHash.gperf"
367 {"reject-contact", Headers::RejectContact},
368#line 41 "HeaderHash.gperf"
369 {"accept-language", Headers::AcceptLanguage},
370#line 54 "HeaderHash.gperf"
371 {"in-reply-to", Headers::InReplyTo},
372#line 40 "HeaderHash.gperf"
373 {"accept-encoding", Headers::AcceptEncoding},
374#line 74 "HeaderHash.gperf"
375 {"server", Headers::Server},
376#line 42 "HeaderHash.gperf"
377 {"alert-info",Headers::AlertInfo},
378#line 72 "HeaderHash.gperf"
379 {"retry-after", Headers::RetryAfter},
380#line 46 "HeaderHash.gperf"
381 {"content-disposition", Headers::ContentDisposition},
382#line 62 "HeaderHash.gperf"
383 {"cookie", Headers::Cookie},
384#line 118 "HeaderHash.gperf"
385 {"remote-party-id", Headers::RemotePartyId},
386#line 101 "HeaderHash.gperf"
387 {"privacy", Headers::Privacy},
388#line 117 "HeaderHash.gperf"
389 {"refer-sub", Headers::ReferSub},
390#line 119 "HeaderHash.gperf"
391 {"history-info", Headers::HistoryInfo},
392#line 120 "HeaderHash.gperf"
393 {"diversion", Headers::Diversion},
394#line 76 "HeaderHash.gperf"
395 {"sip-if-match", Headers::SIPIfMatch},
396#line 92 "HeaderHash.gperf"
397 {"identity-info", Headers::IdentityInfo},
398#line 94 "HeaderHash.gperf"
399 {"p-asserted-identity", Headers::PAssertedIdentity},
400#line 97 "HeaderHash.gperf"
401 {"p-media-authorization", Headers::PMediaAuthorization},
402#line 45 "HeaderHash.gperf"
403 {"call-info", Headers::CallInfo},
404#line 73 "HeaderHash.gperf"
405 {"flow-timer", Headers::FlowTimer},
406#line 31 "HeaderHash.gperf"
407 {"expires", Headers::Expires},
408#line 44 "HeaderHash.gperf"
409 {"authentication-info", Headers::AuthenticationInfo},
410#line 108 "HeaderHash.gperf"
411 {"request-disposition", Headers::RequestDisposition},
412#line 85 "HeaderHash.gperf"
413 {"subscription-state",Headers::SubscriptionState},
414#line 96 "HeaderHash.gperf"
415 {"p-called-party-id", Headers::PCalledPartyId},
416#line 109 "HeaderHash.gperf"
417 {"response-key", Headers::UNKNOWN},
418#line 87 "HeaderHash.gperf"
419 {"allow-events", Headers::AllowEvents},
420#line 80 "HeaderHash.gperf"
421 {"priv-answer-mode", Headers::PrivAnswerMode},
422#line 33 "HeaderHash.gperf"
423 {"max-forwards", Headers::MaxForwards},
424#line 114 "HeaderHash.gperf"
425 {"service-route", Headers::ServiceRoute},
426#line 105 "HeaderHash.gperf"
427 {"referred-by",Headers::ReferredBy},
428#line 122 "HeaderHash.gperf"
429 {"p-charging-vector", Headers::PChargingVector},
430#line 51 "HeaderHash.gperf"
431 {"content-transfer-encoding", Headers::ContentTransferEncoding},
432#line 111 "HeaderHash.gperf"
433 {"security-client", Headers::SecurityClient},
434#line 98 "HeaderHash.gperf"
435 {"p-preferred-identity", Headers::PPreferredIdentity},
436#line 67 "HeaderHash.gperf"
437 {"proxy-authorization", Headers::ProxyAuthorization},
438#line 55 "HeaderHash.gperf"
439 {"min-expires", Headers::MinExpires},
440#line 66 "HeaderHash.gperf"
441 {"proxy-authenticate", Headers::ProxyAuthenticate},
442#line 56 "HeaderHash.gperf"
443 {"mime-version", Headers::MIMEVersion},
444#line 115 "HeaderHash.gperf"
445 {"session-expires", Headers::SessionExpires},
446#line 68 "HeaderHash.gperf"
447 {"proxy-require", Headers::ProxyRequire},
448#line 123 "HeaderHash.gperf"
449 {"p-charging-function-addresses", Headers::PChargingFunctionAddresses},
450#line 112 "HeaderHash.gperf"
451 {"security-server", Headers::SecurityServer},
452#line 121 "HeaderHash.gperf"
453 {"p-access-network-info", Headers::PAccessNetworkInfo},
454#line 124 "HeaderHash.gperf"
455 {"p-visited-network-id", Headers::PVisitedNetworkID},
456#line 113 "HeaderHash.gperf"
457 {"security-verify", Headers::SecurityVerify},
458#line 61 "HeaderHash.gperf"
459 {"sec-websocket-accept", Headers::SecWebSocketAccept},
460#line 58 "HeaderHash.gperf"
461 {"sec-websocket-key", Headers::SecWebSocketKey},
462#line 60 "HeaderHash.gperf"
463 {"sec-websocket-key2", Headers::SecWebSocketKey2},
464#line 59 "HeaderHash.gperf"
465 {"sec-websocket-key1", Headers::SecWebSocketKey1}
466 };
467
468 static const signed char lookup[] =
469 {
470 -1, 0, -1, -1, -1, -1, 1, 2, -1, -1,
471 -1, 3, -1, -1, -1, -1, 4, -1, -1, 5,
472 -1, 6, -1, -1, 7, -1, 8, -1, -1, -1,
473 -1, 9, -1, -1, 10, -1, 11, -1, -1, -1,
474 -1, 12, -1, -1, -1, 13, 14, -1, -1, -1,
475 -1, 15, -1, -1, 16, -1, 17, 18, -1, 19,
476 -1, 20, 21, -1, -1, -1, 22, -1, -1, 23,
477 -1, -1, -1, 24, -1, -1, 25, -1, -1, 26,
478 27, -1, -1, -1, -1, -1, 28, -1, -1, 29,
479 30, 31, -1, -1, -1, -1, -1, -1, -1, -1,
480 -1, 32, 33, -1, -1, -1, 34, 35, -1, 36,
481 37, -1, -1, 38, -1, -1, 39, 40, 41, -1,
482 -1, 42, -1, 43, -1, -1, 44, -1, 45, -1,
483 46, -1, 47, 48, -1, -1, -1, 49, 50, 51,
484 52, -1, 53, 54, 55, -1, 56, -1, 57, 58,
485 -1, 59, -1, -1, 60, -1, -1, -1, -1, -1,
486 61, 62, 63, -1, 64, 65, 66, -1, -1, -1,
487 67, 68, -1, -1, -1, 69, 70, -1, -1, -1,
488 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
489 -1, 72, -1, -1, -1, 73, -1, 74, -1, 75,
490 -1, -1, 76, -1, 77, -1, -1, 78, 79, 80,
491 -1, 81, -1, -1, 82, 83, -1, 84, -1, -1,
492 -1, -1, -1, -1, 85, -1, -1, -1, -1, -1,
493 -1, -1, -1, -1, 86, -1, -1, -1, 87, -1,
494 -1, -1, 88, -1, -1, -1, -1, 89, -1, -1,
495 -1, -1, 90, -1, -1, -1, 91, 92, 93, -1,
496 -1, 94, 95, -1, -1, 96, -1, -1, -1, -1,
497 -1, -1, -1, -1, -1, 97, -1, -1, -1, -1,
498 -1, -1, -1, -1, -1, 98, -1, -1, -1, 99,
499 -1, 100, -1, -1, -1, -1, -1, -1, 101, -1,
500 -1, -1, -1, -1, -1, -1, -1, 102, -1, -1,
501 103, -1, -1, 104, 105, 106, -1, -1, -1, -1,
502 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
503 -1, 107, -1, -1, -1, -1, -1, -1, -1, -1,
504 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
505 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
506 -1, -1, -1, -1, -1, 108, -1, -1, -1, -1,
507 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
508 109, -1, -1, -1, -1, -1, -1, -1, -1, -1,
509 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
510 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
511 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
512 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
513 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
514 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
515 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
516 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
517 -1, -1, 111, 112, -1, -1, -1, -1, 113
518 };
519
520 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
521 {
522 unsigned int key = hash (str, len);
523
524 if (key <= MAX_HASH_VALUE)
525 {
526 int index = lookup[key];
527
528 if (index >= 0)
529 {
530 const char *s = wordlist[index].name;
531
532 if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_strncmp (str, s, len) && s[len] == '\0')
533 return &wordlist[index];
534 }
535 }
536 }
537 return 0;
538}
539#line 126 "HeaderHash.gperf"
540
541}