1 /* ANSI-C code produced by gperf version 2.7.1 (19981006 egcs) */
2 /* Command-line: gperf -L ANSI-C -I -t -H b5Hash -N inBig5 -C -E -o -n -c -D b5percent.txt */
3 /****************************************************
4 400 Most frequently used BIG5 chars in GB code space.
5 The percentage is taken over all BIG5 code space.
6 ****************************************************/
7 #include <string.h>
8 #include "zhstatis.h"
9
10 /* maximum key range = 986, duplicates = 4 */
11
12 #ifdef __GNUC__
13 __inline
14 #endif
15 static unsigned int
b5Hash(register const char * str,register unsigned int len)16 b5Hash (register const char *str, register unsigned int len)
17 {
18 static const unsigned short asso_values[] =
19 {
20 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
21 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
22 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
23 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
24 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
25 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
26 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
27 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
28 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
29 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
30 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
31 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
32 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
33 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
34 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
35 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
36 986, 81, 0, 166, 0, 55, 35, 5, 396, 21,
37 116, 80, 265, 19, 986, 311, 28, 25, 345, 105,
38 215, 95, 10, 415, 30, 468, 40, 110, 330, 80,
39 155, 480, 180, 333, 21, 498, 188, 190, 89, 453,
40 200, 228, 380, 13, 436, 475, 11, 278, 273, 430,
41 280, 340, 120, 236, 183, 296, 488, 500, 456, 356,
42 246, 120, 64, 491, 78, 285, 163, 461, 418, 288,
43 4, 510, 326, 438, 383, 478, 76, 135, 330, 260,
44 495, 45, 33, 1, 73, 501, 380, 433, 348, 505,
45 425, 363, 23, 206, 195, 986
46 };
47 return asso_values[(unsigned char)str[len - 1]] + asso_values[(unsigned char)str[0]];
48 }
49
50 #ifdef __GNUC__
51 __inline
52 #endif
53 const struct charHz *
inBig5(register const char * str,register unsigned int len)54 inBig5 (register const char *str, register unsigned int len)
55 {
56 enum
57 {
58 TOTAL_KEYWORDS = 400,
59 MIN_WORD_LENGTH = 2,
60 MAX_WORD_LENGTH = 2,
61 MIN_HASH_VALUE = 0,
62 MAX_HASH_VALUE = 985
63 };
64
65 static const struct charHz wordlist[] =
66 {
67 {"��", 0.769287},
68 {"��", 0.306841},
69 {"��", 0.019016},
70 {"��", 0.088828},
71 {"��", 0.065464},
72 {"��", 0.031305},
73 {"��", 0.112574},
74 {"��", 0.028211},
75 {"��", 0.046708},
76 {"��", 0.015041},
77 {"��", 0.071498},
78 {"��", 0.025611},
79 {"��", 0.035635},
80 {"��", 0.016753},
81 {"§", 0.018038},
82 {"��", 0.160736},
83 {"��", 0.090439},
84 {"��", 0.058479},
85 {"��", 0.037804},
86 {"��", 0.015738},
87 {"��", 0.014759},
88 {"��", 0.229607},
89 {"��", 0.034256},
90 {"��", 0.166304},
91 {"��", 0.093519},
92 {"��", 0.018394},
93 {"��", 0.045773},
94 {"��", 0.147260},
95 {"��", 0.017462},
96 {"��", 0.055894},
97 {"��", 0.015586},
98 {"��", 0.018907},
99 {"��", 0.019326},
100 {"��", 0.015277},
101 {"��", 0.039054},
102 {"��", 0.049332},
103 {"��", 0.057086},
104 {"��", 0.043716},
105 {"��", 0.423518},
106 {"��", 0.038273},
107 {"��", 0.016983},
108 {"��", 0.065455},
109 {"��", 0.043318},
110 {"��", 0.137466},
111 {"��", 0.404486},
112 {"��", 0.027452},
113 {"��", 0.031913},
114 {"��", 0.022180},
115 {"��", 0.108684},
116 {"��", 0.064182},
117 {"��", 0.066723},
118 {"��", 0.023091},
119 {"��", 0.113864},
120 {"��", 0.021874},
121 {"��", 0.015441},
122 {"��", 0.037946},
123 {"��", 0.028469},
124 {"��", 0.014519},
125 {"��", 0.069696},
126 {"��", 0.093334},
127 {"��", 0.128990},
128 {"��", 0.070255},
129 {"��", 0.083516},
130 {"��", 0.072818},
131 {"��", 0.016109},
132 {"½", 0.018793},
133 {"��", 0.135395},
134 {"��", 0.098976},
135 {"��", 0.022989},
136 {"��", 0.185013},
137 {"��", 0.067999},
138 {"��", 0.041783},
139 {"��", 0.169524},
140 {"��", 0.098767},
141 {"��", 0.035493},
142 {"��", 0.031729},
143 {"��", 0.117938},
144 {"��", 0.019888},
145 {"��", 0.079914},
146 {"��", 0.041485},
147 {"��", 0.018574},
148 {"��", 0.016470},
149 {"��", 0.068123},
150 {"��", 0.014632},
151 {"��", 0.019986},
152 {"��", 0.061454},
153 {"��", 0.060330},
154 {"��", 0.016134},
155 {"��", 1.331823},
156 {"��", 0.311471},
157 {"��", 0.014513},
158 {"��", 0.033989},
159 {"��", 0.103263},
160 {"��", 0.127011},
161 {"��", 0.029026},
162 {"��", 0.015288},
163 {"��", 0.025526},
164 {"��", 0.137685},
165 {"��", 0.205378},
166 {"��", 1.647294},
167 {"��", 0.114942},
168 {"��", 0.049163},
169 {"��", 0.023332},
170 {"��", 0.029635},
171 {"��", 0.022240},
172 {"¾", 0.030851},
173 {"��", 0.141643},
174 {"��", 0.120274},
175 {"��", 0.028860},
176 {"��", 0.102537},
177 {"��", 0.092950},
178 {"��", 0.051303},
179 {"��", 0.371579},
180 {"��", 0.014627},
181 {"��", 0.046636},
182 {"��", 0.049927},
183 {"��", 0.063111},
184 {"��", 0.019307},
185 {"��", 0.019892},
186 {"��", 0.082802},
187 {"��", 0.037599},
188 {"��", 0.069500},
189 {"��", 0.046553},
190 {"��", 0.022982},
191 {"��", 0.039860},
192 {"ı", 0.125828},
193 {"��", 0.027650},
194 {"��", 0.014572},
195 {"��", 0.035152},
196 {"��", 0.028902},
197 {"��", 0.030283},
198 {"��", 0.018765},
199 {"��", 0.037953},
200 {"��", 0.015175},
201 {"��", 0.052447},
202 {"��", 0.016471},
203 {"��", 0.018525},
204 {"��", 0.016991},
205 {"��", 0.016309},
206 {"��", 0.023295},
207 {"��", 0.210737},
208 {"ť", 0.109895},
209 {"��", 0.019304},
210 {"��", 0.016478},
211 {"��", 0.120442},
212 {"��", 0.029056},
213 {"��", 0.017140},
214 {"��", 0.205663},
215 {"��", 0.021996},
216 {"��", 0.026937},
217 {"��", 0.100132},
218 {"��", 0.076828},
219 {"��", 0.074701},
220 {"��", 0.070771},
221 {"��", 0.033967},
222 {"��", 0.135818},
223 {"��", 0.286923},
224 {"��", 0.021442},
225 {"��", 0.066187},
226 {"��", 0.154665},
227 {"��", 0.066513},
228 {"��", 0.019366},
229 {"��", 0.092406},
230 {"ĵ", 0.019427},
231 {"��", 0.143276},
232 {"ԣ", 0.019852},
233 {"��", 0.378802},
234 {"��", 0.029765},
235 {"��", 0.060734},
236 {"ij", 0.060089},
237 {"��", 0.047633},
238 {"��", 0.017041},
239 {"��", 0.142548},
240 {"��", 0.041400},
241 {"��", 0.036977},
242 {"��", 0.030253},
243 {"��", 0.014722},
244 {"Ū", 0.041732},
245 {"��", 0.023904},
246 {"��", 0.024133},
247 {"��", 0.034493},
248 {"��", 0.031733},
249 {"��", 0.017932},
250 {"��", 0.036924},
251 {"��", 0.086345},
252 {"��", 0.036020},
253 {"��", 0.014800},
254 {"��", 0.015329},
255 {"��", 0.039660},
256 {"��", 0.021045},
257 {"��", 0.029324},
258 {"��", 0.180739},
259 {"��", 0.020917},
260 {"��", 0.021087},
261 {"��", 0.016450},
262 {"��", 0.034270},
263 {"��", 0.023452},
264 {"��", 0.135500},
265 {"��", 0.022743},
266 {"��", 0.175203},
267 {"��", 0.029011},
268 {"��", 0.025235},
269 {"��", 0.020801},
270 {"��", 0.335331},
271 {"��", 0.159704},
272 {"��", 0.043805},
273 {"��", 0.082474},
274 {"��", 0.041141},
275 {"��", 0.070902},
276 {"��", 0.019910},
277 {"²", 0.029031},
278 {"��", 0.016313},
279 {"��", 0.018368},
280 {"��", 0.125698},
281 {"��", 0.034810},
282 {"��", 0.267319},
283 {"��", 0.112807},
284 {"��", 0.018520},
285 {"��", 0.030641},
286 {"��", 0.348555},
287 {"��", 0.036569},
288 {"��", 0.056596},
289 {"��", 0.016607},
290 {"��", 0.122909},
291 {"��", 0.054052},
292 {"��", 0.268859},
293 {"��", 0.094117},
294 {"��", 0.024633},
295 {"��", 0.096599},
296 {"��", 0.065257},
297 {"��", 0.021939},
298 {"��", 0.019991},
299 {"��", 0.014644},
300 {"��", 0.030914},
301 {"��", 0.062679},
302 {"��", 0.015188},
303 {"��", 0.021828},
304 {"��", 0.649007},
305 {"��", 0.037749},
306 {"��", 0.072864},
307 {"��", 0.053675},
308 {"��", 0.093825},
309 {"��", 0.034648},
310 {"��", 0.018468},
311 {"��", 0.097010},
312 {"��", 0.031320},
313 {"��", 0.034071},
314 {"��", 0.017071},
315 {"��", 0.331414},
316 {"��", 0.236619},
317 {"��", 0.017806},
318 {"��", 0.033741},
319 {"��", 0.071342},
320 {"��", 0.158870},
321 {"��", 0.075241},
322 {"��", 0.082499},
323 {"��", 0.050505},
324 {"��", 0.037712},
325 {"��", 0.033770},
326 {"��", 0.026064},
327 {"��", 0.122616},
328 {"��", 0.072859},
329 {"��", 0.036769},
330 {"��", 0.023777},
331 {"��", 0.018066},
332 {"��", 0.024433},
333 {"��", 0.105024},
334 {"��", 1.503535},
335 {"��", 0.059178},
336 {"��", 0.115500},
337 {"��", 0.106853},
338 {"��", 0.072786},
339 {"��", 0.028320},
340 {"��", 0.024624},
341 {"��", 0.080762},
342 {"��", 0.124968},
343 {"��", 0.103272},
344 {"��", 0.036130},
345 {"��", 0.084656},
346 {"��", 0.023113},
347 {"��", 0.054908},
348 {"��", 0.095309},
349 {"��", 0.057877},
350 {"��", 0.015462},
351 {"��", 0.259234},
352 {"��", 0.030173},
353 {"��", 0.028259},
354 {"��", 0.025462},
355 {"��", 0.081804},
356 {"��", 0.019704},
357 {"��", 0.037346},
358 {"��", 0.172006},
359 {"��", 0.062596},
360 {"��", 0.042139},
361 {"��", 0.030141},
362 {"��", 0.017032},
363 {"��", 0.033712},
364 {"��", 0.097897},
365 {"��", 0.019585},
366 {"��", 0.036788},
367 {"��", 0.040640},
368 {"��", 0.021701},
369 {"��", 0.015084},
370 {"ñ", 0.019035},
371 {"��", 0.046922},
372 {"��", 0.033282},
373 {"��", 0.142554},
374 {"��", 0.350021},
375 {"��", 0.020720},
376 {"��", 0.117753},
377 {"��", 0.155168},
378 {"��", 0.027903},
379 {"��", 0.034138},
380 {"��", 0.195193},
381 {"��", 0.091897},
382 {"��", 0.025892},
383 {"��", 0.092087},
384 {"��", 0.098278},
385 {"��", 0.206358},
386 {"��", 0.035629},
387 {"��", 0.037969},
388 {"��", 0.059885},
389 {"��", 0.017369},
390 {"��", 0.041338},
391 {"��", 0.042914},
392 {"��", 0.110517},
393 {"��", 0.024560},
394 {"��", 0.023162},
395 {"��", 0.023874},
396 {"��", 0.020609},
397 {"��", 0.227495},
398 {"��", 0.141367},
399 {"��", 0.015495},
400 {"��", 0.022215},
401 {"��", 0.056262},
402 {"��", 0.151584},
403 {"��", 0.061118},
404 {"��", 0.272770},
405 {"��", 0.085263},
406 {"��", 0.016105},
407 {"��", 0.053881},
408 {"��", 0.021204},
409 {"��", 0.093396},
410 {"��", 0.469347},
411 {"��", 0.020237},
412 {"��", 0.034130},
413 {"��", 0.059852},
414 {"��", 0.043658},
415 {"��", 0.017357},
416 {"��", 0.045179},
417 {"��", 0.023371},
418 {"��", 0.110726},
419 {"��", 0.020201},
420 {"��", 0.024993},
421 {"��", 0.029663},
422 {"��", 0.032246},
423 {"��", 0.015996},
424 {"��", 0.026776},
425 {"��", 0.027477},
426 {"��", 0.039371},
427 {"��", 0.016772},
428 {"��", 0.014455},
429 {"��", 0.024243},
430 {"��", 0.048220},
431 {"��", 0.027036},
432 {"��", 0.019130},
433 {"��", 0.022422},
434 {"��", 0.045496},
435 {"��", 0.054332},
436 {"��", 0.042048},
437 {"��", 0.030469},
438 {"��", 0.042275},
439 {"��", 0.016165},
440 {"��", 0.291129},
441 {"��", 0.094920},
442 {"��", 0.043175},
443 {"��", 0.025828},
444 {"��", 0.016134},
445 {"��", 0.034991},
446 {"��", 0.020823},
447 {"��", 0.035779},
448 {"��", 0.018547},
449 {"��", 0.023479},
450 {"��", 0.045329},
451 {"��", 0.297640},
452 {"��", 0.028177},
453 {"��", 0.085551},
454 {"��", 0.153848},
455 {"��", 0.037319},
456 {"��", 0.129670},
457 {"��", 0.049393},
458 {"��", 0.042645},
459 {"��", 0.030758},
460 {"��", 0.041439},
461 {"��", 0.042696},
462 {"ù", 0.028028},
463 {"��", 0.019105},
464 {"��", 0.052699},
465 {"��", 0.014792},
466 {"��", 0.098239}
467 };
468
469 static const short lookup[] =
470 {
471 0, -1, -1, -1, -1, -408, 3, -399,
472 -2, -1, -413, 6, -396, -2, -1, 7,
473 8, -1, 9, 10, 11, -1, -1, 12,
474 -1, 13, 14, -1, 15, 16, 17, 18,
475 -1, 19, 20, -1, 21, -1, 22, 23,
476 24, -1, 25, 26, -1, 27, 28, -1,
477 29, 30, 31, 32, -1, 33, 34, 35,
478 36, -1, 37, 38, 39, 40, -1, 41,
479 42, 43, 44, -1, 45, 46, 47, -1,
480 -1, 48, 49, 50, 51, -1, -1, -1,
481 52, 53, -1, 54, 55, 56, 57, -1,
482 -1, 58, 59, 60, -1, -1, 61, 62,
483 -1, -1, -1, 63, 64, 65, -1, 66,
484 67, 68, 69, -1, -1, 70, 71, 72,
485 -1, 73, 74, 75, 76, -1, 77, -1,
486 78, 79, -1, -1, -1, 80, 81, -1,
487 82, -1, 83, -1, -1, 84, -1, 85,
488 86, -1, 87, -1, 88, -1, -1, 89,
489 90, 91, -1, -1, -1, -1, 92, -1,
490 -1, -1, -1, 93, 94, -1, 95, -1,
491 96, -1, -1, 97, -1, 98, 99, -1,
492 100, -1, 101, 102, -1, 103, -1, 104,
493 105, -1, -1, -1, 106, -1, -1, 107,
494 -1, 108, 109, -1, 110, -1, 111, 112,
495 -1, 113, 114, -1, 115, -1, 116, -1,
496 117, 118, -1, 119, -1, 120, 121, -1,
497 122, -1, 123, 124, -1, 125, -1, 126,
498 127, -1, -1, -1, 128, 129, -1, 130,
499 -1, 131, 132, -1, 133, -1, 134, 135,
500 -1, -1, -1, 136, 137, -1, 138, -1,
501 139, 140, -1, -1, -1, 141, 142, -1,
502 143, -1, 144, -1, -1, 145, -1, 146,
503 147, -1, 148, -1, 149, 150, -1, 151,
504 -1, 152, 153, -1, 154, -1, 155, 156,
505 -1, 157, -1, 158, 159, -1, 160, -1,
506 161, 162, -1, 163, -1, 164, 165, -1,
507 166, -1, 167, 168, -1, 169, -1, 170,
508 171, -1, 172, -1, 173, 174, -1, 175,
509 -1, 176, 177, -1, 178, 179, -737, 182,
510 -1, 183, -1, 184, 185, -1, 186, -1,
511 187, 188, -1, 189, -1, 190, 191, -1,
512 192, -1, 193, 194, -1, 195, -1, 196,
513 -220, -2, -1, -1, 197, 198, -1, 199,
514 -1, 200, 201, -1, -1, -1, 202, -1,
515 -1, 203, 204, 205, 206, -1, -1, -1,
516 207, 208, -1, 209, -1, -1, 210, -1,
517 211, 212, 213, -1, -1, 214, -1, 215,
518 216, -1, 217, -1, 218, 219, -1, 220,
519 -1, 221, 222, -1, 223, -1, 224, 225,
520 -1, 226, -1, 227, 228, -1, -1, -1,
521 229, 230, -1, 231, -1, 232, 233, -1,
522 234, -1, 235, 236, -1, 237, -1, 238,
523 239, -1, 240, 241, 242, 243, -1, 244,
524 -1, 245, 246, -1, 247, -1, 248, 249,
525 -1, 250, -1, 251, 252, -1, 253, -1,
526 254, 255, -1, 256, -1, 257, -1, -1,
527 258, -1, 259, 260, -1, 261, 262, 263,
528 264, -1, 265, -1, 266, 267, -1, 268,
529 -1, 269, 270, -1, 271, -1, 272, 273,
530 -1, 274, -1, 275, -1, -1, 276, 277,
531 278, 279, -1, 280, -1, 281, -1, -1,
532 282, -1, 283, 284, -1, 285, -1, 286,
533 287, -1, 288, -1, 289, 290, -1, 291,
534 -1, 292, 293, -1, 294, -1, 295, 296,
535 -1, 297, -1, 298, 299, -1, 300, -1,
536 301, 302, -1, 303, -1, 304, 305, -1,
537 306, -1, 307, 308, -1, 309, -1, 310,
538 -1, -1, 311, -1, 312, 313, -1, 314,
539 -1, 315, 316, -1, 317, -1, 318, -1,
540 -1, 319, -1, 320, 321, -1, 322, -1,
541 323, 324, -1, 325, -1, 326, 327, -1,
542 -1, -1, 328, 329, -1, -975, -70, -2,
543 -1, -1, 332, -1, 333, 334, -1, 335,
544 -1, 336, -1, -1, 337, -1, -1, -1,
545 -1, -1, -1, -1, 338, -1, -1, -1,
546 339, -1, -1, 340, -1, 341, 342, -1,
547 343, -1, 344, 345, -1, -1, -1, 346,
548 347, -1, 348, -1, -1, -1, -1, 349,
549 -1, -1, 350, -1, 351, -1, 352, -1,
550 -1, -1, -1, -1, -1, -1, -1, -1,
551 353, 354, -1, -1, -1, -1, -1, -1,
552 355, -1, 356, 357, -1, -1, -1, -1,
553 -1, -1, -1, -1, -1, -1, -1, -1,
554 -1, -1, -1, -1, -1, -1, 358, -1,
555 -1, -1, -1, 359, -1, -1, 360, -1,
556 361, -1, -1, -1, -1, 362, 363, -1,
557 364, 365, 366, -1, -1, 367, -1, 368,
558 -1, -1, -1, -1, 369, -1, -1, -1,
559 -1, -1, -1, -1, -1, -1, 370, -1,
560 -1, 371, -1, -1, -1, -1, -1, -1,
561 -1, -1, -1, -1, -1, 372, -1, -1,
562 373, -1, -1, -1, -1, -1, -1, -1,
563 -1, -1, -1, -1, 374, -1, -1, -1,
564 -1, -1, 375, -1, 376, -1, -1, 377,
565 -1, -1, -1, 378, -1, -1, -1, -1,
566 -1, -1, -1, -1, -1, -1, -1, -1,
567 -1, -1, -1, -1, -1, -1, -1, -1,
568 379, -1, 380, -1, -1, -1, -1, -1,
569 -1, -1, -1, -1, -1, -1, -1, -1,
570 -1, -1, -1, -1, -1, -1, -1, -1,
571 -1, -1, -1, -1, -1, -1, 381, -1,
572 -1, -1, -1, 382, -1, 383, -1, -1,
573 -1, -1, -1, -1, -1, -1, -1, -1,
574 -1, -1, -1, -1, -1, -1, -1, -1,
575 -1, 384, -1, -1, 385, -1, -1, -1,
576 -1, -1, -1, -1, -1, -1, 386, -1,
577 -1, -1, -1, 387, -1, -1, -1, -1,
578 -1, -1, -1, -1, -1, -1, -1, -1,
579 -1, -1, -1, -1, 388, -1, -1, -1,
580 -1, -1, -1, -1, -1, -1, 389, -1,
581 -1, -1, -1, -1, -1, -1, -1, -1,
582 -1, -1, -1, -1, -1, -1, -1, -1,
583 -1, -1, -1, -1, -1, -1, -1, -1,
584 -1, 390, -1, -1, -1, -1, -1, -1,
585 -1, -1, -1, -1, 391, -1, 392, -1,
586 -1, -1, -1, -1, 393, -1, -1, -1,
587 394, -1, -1, -1, -1, -1, -1, -1,
588 -1, -1, -1, -1, -1, -1, -1, -1,
589 -1, -1, -1, -1, -1, -1, -1, -1,
590 -1, -1, -1, -1, -1, -1, -1, -1,
591 -1, -1, -1, -1, -1, -1, 395, -1,
592 -1, 396, -1, 397, -1, -1, -1, -1,
593 -1, -1, 398, -1, -1, -1, -1, -1,
594 -1, 399
595 };
596
597 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
598 {
599 register int key = b5Hash (str, len);
600
601 if (key <= MAX_HASH_VALUE && key >= 0)
602 {
603 register int index = lookup[key];
604
605 if (index >= 0)
606 {
607 register const char *s = wordlist[index].name;
608
609 if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
610 return &wordlist[index];
611 }
612 else if (index < -TOTAL_KEYWORDS)
613 {
614 register int offset = - 1 - TOTAL_KEYWORDS - index;
615 register const struct charHz *wordptr = &wordlist[TOTAL_KEYWORDS + lookup[offset]];
616 register const struct charHz *wordendptr = wordptr + -lookup[offset + 1];
617
618 while (wordptr < wordendptr)
619 {
620 register const char *s = wordptr->name;
621
622 if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
623 return wordptr;
624 wordptr++;
625 }
626 }
627 }
628 }
629 return 0;
630 }
631