xref: /dflybsd-src/contrib/gcc-4.7/gcc/cp/cfns.h (revision 04febcfb30580676d3e95f58a16c5137ee478b32)
1*e4b17023SJohn Marino /* ANSI-C code produced by gperf version 3.0.3 */
2*e4b17023SJohn Marino /* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf  */
3*e4b17023SJohn Marino 
4*e4b17023SJohn Marino #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
5*e4b17023SJohn Marino       && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
6*e4b17023SJohn Marino       && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
7*e4b17023SJohn Marino       && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
8*e4b17023SJohn Marino       && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
9*e4b17023SJohn Marino       && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
10*e4b17023SJohn Marino       && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
11*e4b17023SJohn Marino       && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
12*e4b17023SJohn Marino       && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
13*e4b17023SJohn Marino       && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
14*e4b17023SJohn Marino       && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
15*e4b17023SJohn Marino       && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
16*e4b17023SJohn Marino       && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
17*e4b17023SJohn Marino       && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
18*e4b17023SJohn Marino       && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
19*e4b17023SJohn Marino       && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
20*e4b17023SJohn Marino       && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
21*e4b17023SJohn Marino       && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
22*e4b17023SJohn Marino       && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
23*e4b17023SJohn Marino       && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
24*e4b17023SJohn Marino       && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
25*e4b17023SJohn Marino       && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
26*e4b17023SJohn Marino       && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
27*e4b17023SJohn Marino /* The character set is not based on ISO-646.  */
28*e4b17023SJohn Marino #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
29*e4b17023SJohn Marino #endif
30*e4b17023SJohn Marino 
31*e4b17023SJohn Marino #line 1 "cfns.gperf"
32*e4b17023SJohn Marino 
33*e4b17023SJohn Marino /* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
34*e4b17023SJohn Marino 
35*e4b17023SJohn Marino This file is part of GCC.
36*e4b17023SJohn Marino 
37*e4b17023SJohn Marino GCC is free software; you can redistribute it and/or modify it under
38*e4b17023SJohn Marino the terms of the GNU General Public License as published by the Free
39*e4b17023SJohn Marino Software Foundation; either version 3, or (at your option) any later
40*e4b17023SJohn Marino version.
41*e4b17023SJohn Marino 
42*e4b17023SJohn Marino GCC is distributed in the hope that it will be useful, but WITHOUT ANY
43*e4b17023SJohn Marino WARRANTY; without even the implied warranty of MERCHANTABILITY or
44*e4b17023SJohn Marino FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
45*e4b17023SJohn Marino for more details.
46*e4b17023SJohn Marino 
47*e4b17023SJohn Marino You should have received a copy of the GNU General Public License
48*e4b17023SJohn Marino along with GCC; see the file COPYING3.  If not see
49*e4b17023SJohn Marino <http://www.gnu.org/licenses/>.  */
50*e4b17023SJohn Marino #ifdef __GNUC__
51*e4b17023SJohn Marino __inline
52*e4b17023SJohn Marino #endif
53*e4b17023SJohn Marino static unsigned int hash (const char *, unsigned int);
54*e4b17023SJohn Marino #ifdef __GNUC__
55*e4b17023SJohn Marino __inline
56*e4b17023SJohn Marino #endif
57*e4b17023SJohn Marino const char * libc_name_p (const char *, unsigned int);
58*e4b17023SJohn Marino /* maximum key range = 391, duplicates = 0 */
59*e4b17023SJohn Marino 
60*e4b17023SJohn Marino #ifdef __GNUC__
61*e4b17023SJohn Marino __inline
62*e4b17023SJohn Marino #else
63*e4b17023SJohn Marino #ifdef __cplusplus
64*e4b17023SJohn Marino inline
65*e4b17023SJohn Marino #endif
66*e4b17023SJohn Marino #endif
67*e4b17023SJohn Marino static unsigned int
hash(register const char * str,register unsigned int len)68*e4b17023SJohn Marino hash (register const char *str, register unsigned int len)
69*e4b17023SJohn Marino {
70*e4b17023SJohn Marino   static const unsigned short asso_values[] =
71*e4b17023SJohn Marino     {
72*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
73*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
74*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
75*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
76*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400,   0,   0,
77*e4b17023SJohn Marino         1, 400, 400, 400, 400, 400, 400, 400, 400, 400,
78*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
79*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
80*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
81*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400,  28,  90,   0,
82*e4b17023SJohn Marino        95,   0,  51,  93, 114,  26, 109, 124,   5,   1,
83*e4b17023SJohn Marino         6,  13,  37, 128,   3,   0,   0,  49,  38,   0,
84*e4b17023SJohn Marino       104,  45,   0, 400, 400, 400, 400, 400, 400, 400,
85*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
86*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
87*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
88*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
89*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
90*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
91*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
92*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
93*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
94*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
95*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
96*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
97*e4b17023SJohn Marino       400, 400, 400, 400, 400, 400, 400
98*e4b17023SJohn Marino     };
99*e4b17023SJohn Marino   register int hval = len;
100*e4b17023SJohn Marino 
101*e4b17023SJohn Marino   switch (hval)
102*e4b17023SJohn Marino     {
103*e4b17023SJohn Marino       default:
104*e4b17023SJohn Marino         hval += asso_values[(unsigned char)str[5]+1];
105*e4b17023SJohn Marino       /*FALLTHROUGH*/
106*e4b17023SJohn Marino       case 5:
107*e4b17023SJohn Marino         hval += asso_values[(unsigned char)str[4]];
108*e4b17023SJohn Marino       /*FALLTHROUGH*/
109*e4b17023SJohn Marino       case 4:
110*e4b17023SJohn Marino         hval += asso_values[(unsigned char)str[3]];
111*e4b17023SJohn Marino       /*FALLTHROUGH*/
112*e4b17023SJohn Marino       case 3:
113*e4b17023SJohn Marino         hval += asso_values[(unsigned char)str[2]];
114*e4b17023SJohn Marino       /*FALLTHROUGH*/
115*e4b17023SJohn Marino       case 2:
116*e4b17023SJohn Marino         hval += asso_values[(unsigned char)str[1]];
117*e4b17023SJohn Marino       /*FALLTHROUGH*/
118*e4b17023SJohn Marino       case 1:
119*e4b17023SJohn Marino         hval += asso_values[(unsigned char)str[0]];
120*e4b17023SJohn Marino         break;
121*e4b17023SJohn Marino     }
122*e4b17023SJohn Marino   return hval + asso_values[(unsigned char)str[len - 1]];
123*e4b17023SJohn Marino }
124*e4b17023SJohn Marino 
125*e4b17023SJohn Marino #ifdef __GNUC__
126*e4b17023SJohn Marino __inline
127*e4b17023SJohn Marino #ifdef __GNUC_STDC_INLINE__
128*e4b17023SJohn Marino __attribute__ ((__gnu_inline__))
129*e4b17023SJohn Marino #endif
130*e4b17023SJohn Marino #endif
131*e4b17023SJohn Marino const char *
libc_name_p(register const char * str,register unsigned int len)132*e4b17023SJohn Marino libc_name_p (register const char *str, register unsigned int len)
133*e4b17023SJohn Marino {
134*e4b17023SJohn Marino   enum
135*e4b17023SJohn Marino     {
136*e4b17023SJohn Marino       TOTAL_KEYWORDS = 156,
137*e4b17023SJohn Marino       MIN_WORD_LENGTH = 3,
138*e4b17023SJohn Marino       MAX_WORD_LENGTH = 10,
139*e4b17023SJohn Marino       MIN_HASH_VALUE = 9,
140*e4b17023SJohn Marino       MAX_HASH_VALUE = 399
141*e4b17023SJohn Marino     };
142*e4b17023SJohn Marino 
143*e4b17023SJohn Marino   static const char * const wordlist[] =
144*e4b17023SJohn Marino     {
145*e4b17023SJohn Marino       "wcsstr",
146*e4b17023SJohn Marino       "strstr",
147*e4b17023SJohn Marino       "cos",
148*e4b17023SJohn Marino       "towctrans",
149*e4b17023SJohn Marino       "memmove",
150*e4b17023SJohn Marino       "wcstol",
151*e4b17023SJohn Marino       "wcscoll",
152*e4b17023SJohn Marino       "wcstombs",
153*e4b17023SJohn Marino       "strtol",
154*e4b17023SJohn Marino       "strcoll",
155*e4b17023SJohn Marino       "wcslen",
156*e4b17023SJohn Marino       "time",
157*e4b17023SJohn Marino       "ctime",
158*e4b17023SJohn Marino       "strlen",
159*e4b17023SJohn Marino       "iswctype",
160*e4b17023SJohn Marino       "wmemchr",
161*e4b17023SJohn Marino       "wcsrchr",
162*e4b17023SJohn Marino       "ceil",
163*e4b17023SJohn Marino       "sin",
164*e4b17023SJohn Marino       "strrchr",
165*e4b17023SJohn Marino       "tan",
166*e4b17023SJohn Marino       "iscntrl",
167*e4b17023SJohn Marino       "acos",
168*e4b17023SJohn Marino       "wmemmove",
169*e4b17023SJohn Marino       "wcsrtombs",
170*e4b17023SJohn Marino       "wctrans",
171*e4b17023SJohn Marino       "wmemcmp",
172*e4b17023SJohn Marino       "pow",
173*e4b17023SJohn Marino       "atol",
174*e4b17023SJohn Marino       "wcsncmp",
175*e4b17023SJohn Marino       "memset",
176*e4b17023SJohn Marino       "free",
177*e4b17023SJohn Marino       "strncmp",
178*e4b17023SJohn Marino       "wmemset",
179*e4b17023SJohn Marino       "wcsspn",
180*e4b17023SJohn Marino       "wcstoul",
181*e4b17023SJohn Marino       "strspn",
182*e4b17023SJohn Marino       "strtoul",
183*e4b17023SJohn Marino       "asctime",
184*e4b17023SJohn Marino       "atan2",
185*e4b17023SJohn Marino       "asin",
186*e4b17023SJohn Marino       "atan",
187*e4b17023SJohn Marino       "ferror",
188*e4b17023SJohn Marino       "iswalnum",
189*e4b17023SJohn Marino       "wcscat",
190*e4b17023SJohn Marino       "realloc",
191*e4b17023SJohn Marino       "strcat",
192*e4b17023SJohn Marino       "wcscpy",
193*e4b17023SJohn Marino       "memcpy",
194*e4b17023SJohn Marino       "strcpy",
195*e4b17023SJohn Marino       "tolower",
196*e4b17023SJohn Marino       "floor",
197*e4b17023SJohn Marino       "iswcntrl",
198*e4b17023SJohn Marino       "atoi",
199*e4b17023SJohn Marino       "clearerr",
200*e4b17023SJohn Marino       "swscanf",
201*e4b17023SJohn Marino       "wcsncat",
202*e4b17023SJohn Marino       "islower",
203*e4b17023SJohn Marino       "strncat",
204*e4b17023SJohn Marino       "btowc",
205*e4b17023SJohn Marino       "localtime",
206*e4b17023SJohn Marino       "wctomb",
207*e4b17023SJohn Marino       "isalnum",
208*e4b17023SJohn Marino       "isprint",
209*e4b17023SJohn Marino       "mblen",
210*e4b17023SJohn Marino       "wcstod",
211*e4b17023SJohn Marino       "log10",
212*e4b17023SJohn Marino       "strtod",
213*e4b17023SJohn Marino       "wcrtomb",
214*e4b17023SJohn Marino       "abs",
215*e4b17023SJohn Marino       "setlocale",
216*e4b17023SJohn Marino       "wcschr",
217*e4b17023SJohn Marino       "mbrlen",
218*e4b17023SJohn Marino       "memchr",
219*e4b17023SJohn Marino       "strchr",
220*e4b17023SJohn Marino       "labs",
221*e4b17023SJohn Marino       "iswpunct",
222*e4b17023SJohn Marino       "exit",
223*e4b17023SJohn Marino       "sqrt",
224*e4b17023SJohn Marino       "swprintf",
225*e4b17023SJohn Marino       "wctype",
226*e4b17023SJohn Marino       "mbsrtowcs",
227*e4b17023SJohn Marino       "wcscspn",
228*e4b17023SJohn Marino       "getenv",
229*e4b17023SJohn Marino       "strcspn",
230*e4b17023SJohn Marino       "towlower",
231*e4b17023SJohn Marino       "atof",
232*e4b17023SJohn Marino       "wcstok",
233*e4b17023SJohn Marino       "localeconv",
234*e4b17023SJohn Marino       "strtok",
235*e4b17023SJohn Marino       "calloc",
236*e4b17023SJohn Marino       "malloc",
237*e4b17023SJohn Marino       "isalpha",
238*e4b17023SJohn Marino       "iswlower",
239*e4b17023SJohn Marino       "iswspace",
240*e4b17023SJohn Marino       "wcsxfrm",
241*e4b17023SJohn Marino       "signal",
242*e4b17023SJohn Marino       "strxfrm",
243*e4b17023SJohn Marino       "wcsftime",
244*e4b17023SJohn Marino       "feof",
245*e4b17023SJohn Marino       "strftime",
246*e4b17023SJohn Marino       "wcscmp",
247*e4b17023SJohn Marino       "fabs",
248*e4b17023SJohn Marino       "memcmp",
249*e4b17023SJohn Marino       "strcmp",
250*e4b17023SJohn Marino       "vsprintf",
251*e4b17023SJohn Marino       "fwide",
252*e4b17023SJohn Marino       "gmtime",
253*e4b17023SJohn Marino       "sprintf",
254*e4b17023SJohn Marino       "exp",
255*e4b17023SJohn Marino       "wmemcpy",
256*e4b17023SJohn Marino       "iswprint",
257*e4b17023SJohn Marino       "sscanf",
258*e4b17023SJohn Marino       "wcsncpy",
259*e4b17023SJohn Marino       "strncpy",
260*e4b17023SJohn Marino       "isspace",
261*e4b17023SJohn Marino       "toupper",
262*e4b17023SJohn Marino       "wctob",
263*e4b17023SJohn Marino       "div",
264*e4b17023SJohn Marino       "mbtowc",
265*e4b17023SJohn Marino       "ldiv",
266*e4b17023SJohn Marino       "log",
267*e4b17023SJohn Marino       "mktime",
268*e4b17023SJohn Marino       "isupper",
269*e4b17023SJohn Marino       "atexit",
270*e4b17023SJohn Marino       "modf",
271*e4b17023SJohn Marino       "mbstowcs",
272*e4b17023SJohn Marino       "mbrtowc",
273*e4b17023SJohn Marino       "ispunct",
274*e4b17023SJohn Marino       "iswalpha",
275*e4b17023SJohn Marino       "setvbuf",
276*e4b17023SJohn Marino       "rand",
277*e4b17023SJohn Marino       "srand",
278*e4b17023SJohn Marino       "frexp",
279*e4b17023SJohn Marino       "towupper",
280*e4b17023SJohn Marino       "mbsinit",
281*e4b17023SJohn Marino       "cosh",
282*e4b17023SJohn Marino       "vswprintf",
283*e4b17023SJohn Marino       "iswupper",
284*e4b17023SJohn Marino       "wcspbrk",
285*e4b17023SJohn Marino       "fmod",
286*e4b17023SJohn Marino       "strpbrk",
287*e4b17023SJohn Marino       "sinh",
288*e4b17023SJohn Marino       "tanh",
289*e4b17023SJohn Marino       "iswdigit",
290*e4b17023SJohn Marino       "clock",
291*e4b17023SJohn Marino       "longjmp",
292*e4b17023SJohn Marino       "ldexp",
293*e4b17023SJohn Marino       "setbuf",
294*e4b17023SJohn Marino       "fseek",
295*e4b17023SJohn Marino       "iswgraph",
296*e4b17023SJohn Marino       "difftime",
297*e4b17023SJohn Marino       "iswxdigit",
298*e4b17023SJohn Marino       "isdigit",
299*e4b17023SJohn Marino       "isxdigit",
300*e4b17023SJohn Marino       "isgraph"
301*e4b17023SJohn Marino     };
302*e4b17023SJohn Marino 
303*e4b17023SJohn Marino   static const short lookup[] =
304*e4b17023SJohn Marino     {
305*e4b17023SJohn Marino        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0,
306*e4b17023SJohn Marino        -1,  -1,   1,  -1,  -1,  -1,   2,  -1,  -1,  -1,
307*e4b17023SJohn Marino        -1,  -1,   3,   4,  -1,   5,   6,   7,   8,   9,
308*e4b17023SJohn Marino        10,  11,  12,  13,  14,  -1,  -1,  -1,  15,  16,
309*e4b17023SJohn Marino        17,  18,  19,  20,  21,  22,  -1,  -1,  23,  24,
310*e4b17023SJohn Marino        -1,  25,  26,  27,  -1,  28,  29,  30,  31,  32,
311*e4b17023SJohn Marino        33,  -1,  34,  35,  -1,  36,  37,  38,  -1,  39,
312*e4b17023SJohn Marino        40,  -1,  41,  -1,  -1,  -1,  -1,  -1,  -1,  42,
313*e4b17023SJohn Marino        -1,  43,  -1,  44,  -1,  45,  46,  -1,  47,  -1,
314*e4b17023SJohn Marino        48,  49,  50,  51,  52,  -1,  -1,  53,  54,  55,
315*e4b17023SJohn Marino        -1,  -1,  -1,  56,  -1,  57,  58,  -1,  59,  60,
316*e4b17023SJohn Marino        61,  62,  63,  64,  65,  -1,  66,  67,  -1,  68,
317*e4b17023SJohn Marino        -1,  69,  70,  71,  72,  73,  74,  75,  -1,  -1,
318*e4b17023SJohn Marino        -1,  -1,  -1,  76,  77,  78,  -1,  -1,  79,  80,
319*e4b17023SJohn Marino        81,  82,  -1,  83,  84,  -1,  85,  86,  87,  -1,
320*e4b17023SJohn Marino        88,  89,  90,  91,  -1,  -1,  -1,  92,  -1,  93,
321*e4b17023SJohn Marino        -1,  94,  -1,  95,  -1,  96,  97,  -1,  98,  -1,
322*e4b17023SJohn Marino        99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
323*e4b17023SJohn Marino        -1, 109, 110, 111, 112,  -1, 113,  -1,  -1, 114,
324*e4b17023SJohn Marino        -1,  -1,  -1, 115,  -1,  -1,  -1, 116, 117,  -1,
325*e4b17023SJohn Marino       118,  -1,  -1,  -1,  -1, 119, 120, 121,  -1, 122,
326*e4b17023SJohn Marino       123,  -1,  -1, 124,  -1, 125, 126,  -1, 127,  -1,
327*e4b17023SJohn Marino       128,  -1,  -1, 129, 130,  -1,  -1,  -1,  -1,  -1,
328*e4b17023SJohn Marino        -1, 131, 132,  -1,  -1,  -1,  -1, 133, 134, 135,
329*e4b17023SJohn Marino        -1,  -1,  -1,  -1,  -1, 136,  -1, 137,  -1,  -1,
330*e4b17023SJohn Marino        -1, 138,  -1,  -1,  -1,  -1,  -1,  -1, 139, 140,
331*e4b17023SJohn Marino        -1, 141,  -1,  -1, 142,  -1, 143,  -1,  -1, 144,
332*e4b17023SJohn Marino        -1, 145,  -1,  -1,  -1,  -1, 146,  -1,  -1,  -1,
333*e4b17023SJohn Marino        -1,  -1,  -1, 147,  -1,  -1,  -1,  -1,  -1, 148,
334*e4b17023SJohn Marino        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
335*e4b17023SJohn Marino        -1,  -1,  -1,  -1, 149,  -1,  -1,  -1,  -1,  -1,
336*e4b17023SJohn Marino        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
337*e4b17023SJohn Marino        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
338*e4b17023SJohn Marino        -1,  -1,  -1,  -1, 150,  -1,  -1,  -1,  -1,  -1,
339*e4b17023SJohn Marino       151,  -1,  -1, 152,  -1,  -1,  -1,  -1,  -1,  -1,
340*e4b17023SJohn Marino        -1,  -1,  -1,  -1,  -1,  -1, 153,  -1,  -1,  -1,
341*e4b17023SJohn Marino        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
342*e4b17023SJohn Marino        -1,  -1,  -1, 154,  -1,  -1,  -1,  -1,  -1,  -1,
343*e4b17023SJohn Marino        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
344*e4b17023SJohn Marino        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 155
345*e4b17023SJohn Marino     };
346*e4b17023SJohn Marino 
347*e4b17023SJohn Marino   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
348*e4b17023SJohn Marino     {
349*e4b17023SJohn Marino       register int key = hash (str, len);
350*e4b17023SJohn Marino 
351*e4b17023SJohn Marino       if (key <= MAX_HASH_VALUE && key >= 0)
352*e4b17023SJohn Marino         {
353*e4b17023SJohn Marino           register int index = lookup[key];
354*e4b17023SJohn Marino 
355*e4b17023SJohn Marino           if (index >= 0)
356*e4b17023SJohn Marino             {
357*e4b17023SJohn Marino               register const char *s = wordlist[index];
358*e4b17023SJohn Marino 
359*e4b17023SJohn Marino               if (*str == *s && !strcmp (str + 1, s + 1))
360*e4b17023SJohn Marino                 return s;
361*e4b17023SJohn Marino             }
362*e4b17023SJohn Marino         }
363*e4b17023SJohn Marino     }
364*e4b17023SJohn Marino   return 0;
365*e4b17023SJohn Marino }
366