xref: /dragonfly/lib/libncurses/include/comp_userdefs.c (revision 2ff0cc302e82d6175cbe81dba2f5318e19834254)
1 /*
2  * generated by ./tinfo/MKuserdefs.sh
3  */
4 
5 /*
6  *    comp_userdefs.c -- The names of widely used user-defined capabilities
7  *                       indexed via a hash table for the compiler.
8  *
9  */
10 
11 #include <curses.priv.h>
12 #include <tic.h>
13 #include <hashsize.h>
14 
15 #if NCURSES_XNAMES
16 /* 10 collisions out of 90 entries */
17 static const char user_names_text[] = \
18 "E3\0" "RGB\0" "TS\0" "U8\0" "XM\0" "grbom\0" "gsbom\0" "xm\0" "AN\0" \
19 "AX\0" "C0\0" "C8\0" "CE\0" "CS\0" "E0\0" "G0\0" "KJ\0" "OL\0" "S0\0" \
20 "TF\0" "WS\0" "XC\0" "XT\0" "Z0\0" "Z1\0" "Cr\0" "Cs\0" "Csr\0" "Ms\0" \
21 "Se\0" "Smulx\0" "Ss\0" "rmxx\0" "smxx\0" "kDC3\0" "kDC4\0" "kDC5\0" \
22 "kDC6\0" "kDC7\0" "kDN\0" "kDN3\0" "kDN4\0" "kDN5\0" "kDN6\0" "kDN7\0" \
23 "kEND3\0" "kEND4\0" "kEND5\0" "kEND6\0" "kEND7\0" "kHOM3\0" "kHOM4\0" \
24 "kHOM5\0" "kHOM6\0" "kHOM7\0" "kIC3\0" "kIC4\0" "kIC5\0" "kIC6\0" \
25 "kIC7\0" "kLFT3\0" "kLFT4\0" "kLFT5\0" "kLFT6\0" "kLFT7\0" "kNXT3\0" \
26 "kNXT4\0" "kNXT5\0" "kNXT6\0" "kNXT7\0" "kPRV3\0" "kPRV4\0" "kPRV5\0" \
27 "kPRV6\0" "kPRV7\0" "kRIT3\0" "kRIT4\0" "kRIT5\0" "kRIT6\0" "kRIT7\0" \
28 "kUP\0" "kUP3\0" "kUP4\0" "kUP5\0" "kUP6\0" "kUP7\0" "ka2\0" "kb1\0" \
29 "kb3\0" "kc2\0" ;
30 
31 static user_table_data const user_names_data[] =
32 {
33           {               0,  (1<<STRING),        0,0,        0,  -1 },
34           {               3,  (1<<BOOLEAN|1<<NUMBER|1<<STRING),       0,0,        1,  -1 },
35           {               7,  (1<<STRING),        0,0,        2,  -1 },
36           {              10,  (1<<NUMBER),        0,0,        1,  -1 },
37           {              13,  (1<<STRING),        1,0,        3,  -1 },
38           {              16,  (1<<STRING),        0,0,        4,  -1 },
39           {              22,  (1<<STRING),        0,0,        5,  -1 },
40           {              28,  (1<<STRING),        8,8,       14,  -1 },
41           {              31,  (1<<BOOLEAN),       0,0,        1,  -1 },
42           {              34,  (1<<BOOLEAN),       0,0,        2,  -1 },
43           {              37,  (1<<STRING),        0,0,       15,  -1 },
44           {              40,  (1<<BOOLEAN),       0,0,        3,  -1 },
45           {              43,  (1<<STRING),        0,0,       16,  -1 },
46           {              46,  (1<<STRING),        0,0,       17,  -1 },
47           {              49,  (1<<STRING),        0,0,       18,  -1 },
48           {              52,  (1<<BOOLEAN),       0,0,        4,  -1 },
49           {              55,  (1<<STRING),        1,1,       19,  -1 },
50           {              58,  (1<<NUMBER),        0,0,        2,  -1 },
51           {              61,  (1<<STRING),        1,1,       20,  -1 },
52           {              64,  (1<<BOOLEAN),       0,0,        5,  -1 },
53           {              67,  (1<<STRING),        2,0,       21,  -1 },
54           {              70,  (1<<STRING),        1,1,       22,  -1 },
55           {              73,  (1<<BOOLEAN),       0,0,        6,  -1 },
56           {              76,  (1<<STRING),        0,0,       23,  -1 },
57           {              79,  (1<<STRING),        0,0,       24,  -1 },
58           {              82,  (1<<STRING),        0,0,       25,  -1 },
59           {              85,  (1<<STRING),        1,1,       26,  -1 },
60           {              88,  (1<<STRING),        1,0,       27,  -1 },
61           {              92,  (1<<STRING),        2,3,       28,  -1 },
62           {              95,  (1<<STRING),        0,0,       29,  -1 },
63           {              98,  (1<<STRING),        1,0,       30,  -1 },
64           {             104,  (1<<STRING),        1,0,       31,  -1 },
65           {             107,  (1<<STRING),        0,0,       32,  -1 },
66           {             112,  (1<<STRING),        0,0,       33,  -1 },
67           {             117,  (1<<STRING),        0,0,       34,  -1 },
68           {             122,  (1<<STRING),        0,0,       35,  -1 },
69           {             127,  (1<<STRING),        0,0,       36,  -1 },
70           {             132,  (1<<STRING),        0,0,       37,  -1 },
71           {             137,  (1<<STRING),        0,0,       38,   8 },
72           {             142,  (1<<STRING),        0,0,       39,  -1 },
73           {             146,  (1<<STRING),        0,0,       40,  -1 },
74           {             151,  (1<<STRING),        0,0,       41,  -1 },
75           {             156,  (1<<STRING),        0,0,       42,  -1 },
76           {             161,  (1<<STRING),        0,0,       43,   9 },
77           {             166,  (1<<STRING),        0,0,       44,  -1 },
78           {             171,  (1<<STRING),        0,0,       45,  -1 },
79           {             177,  (1<<STRING),        0,0,       46,  -1 },
80           {             183,  (1<<STRING),        0,0,       47,  -1 },
81           {             189,  (1<<STRING),        0,0,       48,  -1 },
82           {             195,  (1<<STRING),        0,0,       49,  -1 },
83           {             201,  (1<<STRING),        0,0,       50,  -1 },
84           {             207,  (1<<STRING),        0,0,       51,  -1 },
85           {             213,  (1<<STRING),        0,0,       52,  -1 },
86           {             219,  (1<<STRING),        0,0,       53,  -1 },
87           {             225,  (1<<STRING),        0,0,       54,  -1 },
88           {             231,  (1<<STRING),        0,0,       55,  -1 },
89           {             236,  (1<<STRING),        0,0,       56,  -1 },
90           {             241,  (1<<STRING),        0,0,       57,  -1 },
91           {             246,  (1<<STRING),        0,0,       58,  -1 },
92           {             251,  (1<<STRING),        0,0,       59,  -1 },
93           {             256,  (1<<STRING),        0,0,       60,  52 },
94           {             262,  (1<<STRING),        0,0,       61,  53 },
95           {             268,  (1<<STRING),        0,0,       62,  54 },
96           {             274,  (1<<STRING),        0,0,       63,  -1 },
97           {             280,  (1<<STRING),        0,0,       64,  -1 },
98           {             286,  (1<<STRING),        0,0,       65,  -1 },
99           {             292,  (1<<STRING),        0,0,       66,  -1 },
100           {             298,  (1<<STRING),        0,0,       67,  -1 },
101           {             304,  (1<<STRING),        0,0,       68,  -1 },
102           {             310,  (1<<STRING),        0,0,       69,  -1 },
103           {             316,  (1<<STRING),        0,0,       70,  -1 },
104           {             322,  (1<<STRING),        0,0,       71,  -1 },
105           {             328,  (1<<STRING),        0,0,       72,  65 },
106           {             334,  (1<<STRING),        0,0,       73,  66 },
107           {             340,  (1<<STRING),        0,0,       74,  67 },
108           {             346,  (1<<STRING),        0,0,       75,  -1 },
109           {             352,  (1<<STRING),        0,0,       76,  -1 },
110           {             358,  (1<<STRING),        0,0,       77,  -1 },
111           {             364,  (1<<STRING),        0,0,       78,  -1 },
112           {             370,  (1<<STRING),        0,0,       79,  -1 },
113           {             376,  (1<<STRING),        0,0,       80,  -1 },
114           {             380,  (1<<STRING),        0,0,       81,  -1 },
115           {             385,  (1<<STRING),        0,0,       82,  -1 },
116           {             390,  (1<<STRING),        0,0,       83,  -1 },
117           {             395,  (1<<STRING),        0,0,       84,  -1 },
118           {             400,  (1<<STRING),        0,0,       85,  -1 },
119           {             405,  (1<<STRING),        0,0,       86,  -1 },
120           {             409,  (1<<STRING),        0,0,       87,  86 },
121           {             413,  (1<<STRING),        0,0,       88,  -1 },
122           {             417,  (1<<STRING),        0,0,       89,  88 }
123 };
124 
125 static struct user_table_entry *_nc_user_table = 0;
126 
127 static const HashValue _nc_user_hash_table[995] =
128 {
129            -1,
130            -1,
131            -1,
132            -1,
133            -1,
134            -1,
135            -1,
136            -1,
137            57,
138            -1,
139            -1,
140            -1,
141            -1,
142            -1,
143            -1,
144            -1,
145            -1,
146            -1,
147            -1,
148            61,
149            -1,
150            -1,
151            -1,
152            -1,
153            -1,
154            -1,
155            -1,
156            -1,
157            -1,
158            -1,
159            -1,
160            -1,
161            -1,
162            -1,
163            -1,
164            -1,
165            -1,
166            -1,
167            -1,
168            -1,
169            -1,
170            -1,
171            40,
172            -1,
173            -1,
174            -1,
175            -1,
176            -1,
177            -1,
178            -1,
179            -1,
180            -1,
181            -1,
182            -1,
183            -1,
184            -1,
185             6,
186            -1,
187            -1,
188            -1,
189            -1,
190            -1,
191            -1,
192            -1,
193            -1,
194            -1,
195            -1,
196            -1,
197            -1,
198            -1,
199            -1,
200            -1,
201            -1,
202            -1,
203            -1,
204            -1,
205            44,
206            -1,
207            -1,
208            -1,
209            -1,
210            -1,
211            -1,
212            -1,
213            -1,
214            -1,
215            -1,
216            75,
217            -1,
218            -1,
219            -1,
220            -1,
221            -1,
222            -1,
223            -1,
224            -1,
225            -1,
226            -1,
227            -1,
228            -1,
229            -1,
230            -1,
231            -1,
232            -1,
233            -1,
234            -1,
235            -1,
236            -1,
237            -1,
238            -1,
239            -1,
240            -1,
241            -1,
242            -1,
243            87,
244            -1,
245            -1,
246            -1,
247            -1,
248            -1,
249            -1,
250            79,
251            -1,
252            -1,
253            -1,
254            -1,
255            -1,
256            -1,
257            -1,
258            -1,
259            -1,
260            -1,
261            -1,
262            -1,
263            -1,
264            -1,
265            -1,
266            -1,
267            -1,
268            -1,
269            46,
270            -1,
271            -1,
272            -1,
273            -1,
274            -1,
275            -1,
276            -1,
277            -1,
278            -1,
279            -1,
280            -1,
281            -1,
282            -1,
283            -1,
284            -1,
285            -1,
286            -1,
287            -1,
288            -1,
289            -1,
290            -1,
291            -1,
292            -1,
293            -1,
294            -1,
295            -1,
296            -1,
297            -1,
298            -1,
299            -1,
300            -1,
301            -1,
302            -1,
303            -1,
304            -1,
305            -1,
306            -1,
307            -1,
308            -1,
309            -1,
310            -1,
311            19,
312            -1,
313            -1,
314            -1,
315            -1,
316            -1,
317            -1,
318            73,
319            -1,
320            -1,
321            -1,
322            -1,
323            -1,
324            -1,
325            29,
326            34,
327            -1,
328            -1,
329            -1,
330            -1,
331            -1,
332            -1,
333            -1,
334            -1,
335            -1,
336            16,
337            -1,
338            -1,
339            -1,
340            -1,
341            82,
342            -1,
343            -1,
344            -1,
345            -1,
346            -1,
347            -1,
348            -1,
349            -1,
350            -1,
351            -1,
352            -1,
353            -1,
354            -1,
355            -1,
356            -1,
357            -1,
358            -1,
359            -1,
360            38,
361            -1,
362            -1,
363            -1,
364            -1,
365            -1,
366            -1,
367            -1,
368            -1,
369            -1,
370            -1,
371            50,
372            -1,
373            -1,
374            -1,
375            -1,
376            -1,
377            -1,
378            -1,
379            -1,
380            -1,
381            -1,
382            -1,
383             0,
384            -1,
385            -1,
386            -1,
387            -1,
388            -1,
389            -1,
390            -1,
391            -1,
392            -1,
393            -1,
394            58,
395            -1,
396            -1,
397            -1,
398            -1,
399            -1,
400            -1,
401            -1,
402            -1,
403            27,
404            -1,
405            62,
406            -1,
407            -1,
408            -1,
409            -1,
410            -1,
411            -1,
412            -1,
413            -1,
414            -1,
415            -1,
416            -1,
417            -1,
418            -1,
419            -1,
420            -1,
421            -1,
422            -1,
423            -1,
424            -1,
425            -1,
426            -1,
427            -1,
428            41,
429            -1,
430             7,
431            -1,
432            -1,
433            -1,
434            -1,
435            -1,
436            -1,
437            -1,
438            -1,
439            -1,
440            -1,
441            -1,
442            -1,
443            -1,
444            -1,
445            -1,
446            -1,
447            -1,
448            -1,
449            -1,
450            -1,
451            -1,
452            -1,
453            -1,
454            -1,
455            -1,
456            -1,
457            -1,
458            -1,
459            -1,
460            -1,
461            -1,
462            -1,
463            -1,
464            -1,
465            -1,
466            -1,
467            -1,
468            -1,
469            -1,
470            -1,
471            -1,
472            -1,
473            76,
474            -1,
475            -1,
476            32,
477            33,
478            -1,
479            -1,
480            -1,
481            -1,
482            -1,
483            -1,
484            -1,
485            -1,
486            -1,
487            -1,
488            -1,
489            -1,
490            -1,
491            -1,
492            -1,
493            -1,
494            -1,
495            -1,
496            -1,
497            -1,
498            -1,
499            -1,
500            -1,
501            -1,
502            -1,
503            -1,
504            -1,
505            -1,
506            -1,
507            -1,
508            -1,
509            -1,
510            -1,
511            -1,
512            -1,
513            -1,
514            -1,
515            -1,
516            -1,
517            -1,
518            -1,
519            -1,
520            -1,
521            -1,
522            -1,
523            -1,
524            -1,
525            -1,
526            47,
527            -1,
528            -1,
529            -1,
530            -1,
531            -1,
532            -1,
533            -1,
534            -1,
535            -1,
536            -1,
537            -1,
538            21,
539            -1,
540            -1,
541            70,
542            -1,
543            -1,
544            -1,
545            -1,
546            -1,
547            -1,
548            -1,
549            -1,
550            -1,
551            -1,
552            -1,
553            -1,
554            -1,
555            -1,
556            -1,
557            -1,
558            -1,
559            -1,
560            -1,
561            -1,
562            -1,
563            -1,
564            -1,
565            -1,
566            -1,
567            -1,
568            -1,
569            -1,
570            -1,
571            -1,
572            -1,
573            -1,
574            -1,
575            74,
576            -1,
577            -1,
578            -1,
579            -1,
580            -1,
581            -1,
582            -1,
583            35,
584            -1,
585            -1,
586            -1,
587            -1,
588            -1,
589            -1,
590            -1,
591            -1,
592            30,
593            -1,
594            -1,
595            -1,
596            -1,
597            -1,
598            83,
599            -1,
600            -1,
601            -1,
602            -1,
603            -1,
604            10,
605            -1,
606            14,
607            -1,
608            15,
609            -1,
610            -1,
611            -1,
612            -1,
613            -1,
614            -1,
615            -1,
616            -1,
617            55,
618            -1,
619            -1,
620            18,
621            -1,
622            -1,
623            -1,
624            -1,
625            -1,
626            -1,
627            23,
628            51,
629            -1,
630             1,
631            -1,
632            -1,
633            -1,
634            -1,
635            -1,
636            -1,
637            -1,
638            -1,
639            -1,
640            -1,
641            -1,
642            -1,
643            -1,
644            -1,
645            -1,
646            -1,
647            -1,
648            -1,
649            -1,
650            -1,
651            59,
652            -1,
653            13,
654            -1,
655            -1,
656            -1,
657            -1,
658            -1,
659            -1,
660            -1,
661            -1,
662            63,
663            -1,
664            -1,
665            -1,
666            -1,
667            -1,
668            25,
669            -1,
670             2,
671            -1,
672            11,
673            20,
674            -1,
675            -1,
676            -1,
677            -1,
678            -1,
679            -1,
680            -1,
681            -1,
682            -1,
683            -1,
684            -1,
685            42,
686            -1,
687            -1,
688            -1,
689            -1,
690             3,
691            -1,
692            -1,
693            -1,
694            -1,
695            -1,
696            -1,
697            -1,
698            -1,
699            -1,
700            -1,
701            -1,
702            -1,
703            -1,
704            -1,
705            -1,
706            -1,
707            -1,
708            -1,
709            -1,
710            -1,
711            -1,
712            -1,
713            -1,
714            -1,
715            -1,
716            -1,
717            -1,
718            -1,
719            -1,
720            -1,
721            -1,
722            -1,
723            -1,
724            -1,
725            -1,
726            -1,
727            -1,
728            -1,
729            -1,
730            77,
731            -1,
732            -1,
733            -1,
734            -1,
735            -1,
736            -1,
737            -1,
738            -1,
739            -1,
740            -1,
741            -1,
742            -1,
743            -1,
744            -1,
745            -1,
746            -1,
747            -1,
748            -1,
749            -1,
750            -1,
751            -1,
752            -1,
753            -1,
754            -1,
755            -1,
756            -1,
757            89,
758            -1,
759            -1,
760            -1,
761            -1,
762            -1,
763            -1,
764            -1,
765            -1,
766            -1,
767            -1,
768            -1,
769            -1,
770            -1,
771            -1,
772            -1,
773            -1,
774            -1,
775            -1,
776            -1,
777            -1,
778            -1,
779            -1,
780            -1,
781            -1,
782            -1,
783            48,
784            -1,
785            -1,
786            -1,
787            -1,
788            -1,
789            -1,
790            -1,
791            -1,
792            -1,
793            -1,
794            -1,
795            -1,
796            -1,
797            -1,
798            71,
799            -1,
800            -1,
801            -1,
802            -1,
803            -1,
804            -1,
805            -1,
806            -1,
807            -1,
808            -1,
809            -1,
810            -1,
811            -1,
812            -1,
813            -1,
814            -1,
815            -1,
816            -1,
817            -1,
818            -1,
819            -1,
820            -1,
821            -1,
822            -1,
823            -1,
824            -1,
825            -1,
826            -1,
827            -1,
828            -1,
829            -1,
830            -1,
831            -1,
832            68,
833            -1,
834            -1,
835            -1,
836            -1,
837            -1,
838            -1,
839            -1,
840            36,
841            -1,
842            -1,
843            -1,
844            -1,
845            -1,
846            -1,
847            -1,
848            -1,
849            -1,
850            -1,
851            -1,
852            -1,
853            -1,
854            17,
855            84,
856            -1,
857            -1,
858            -1,
859            -1,
860            -1,
861            -1,
862            -1,
863            -1,
864            -1,
865            -1,
866            -1,
867            -1,
868            -1,
869            -1,
870            -1,
871            -1,
872            -1,
873            -1,
874            56,
875            -1,
876            -1,
877            -1,
878            -1,
879            -1,
880            -1,
881            -1,
882            -1,
883            -1,
884            24,
885            60,
886            -1,
887            -1,
888            -1,
889            -1,
890            -1,
891            -1,
892            -1,
893            80,
894            -1,
895            -1,
896            -1,
897            -1,
898            -1,
899            -1,
900            -1,
901            -1,
902            -1,
903            -1,
904            -1,
905            -1,
906            -1,
907            -1,
908            -1,
909            -1,
910            -1,
911            -1,
912            -1,
913            -1,
914            -1,
915            -1,
916            -1,
917            -1,
918            -1,
919            64,
920            -1,
921            -1,
922             5,
923            -1,
924            -1,
925            26,
926            -1,
927            -1,
928            -1,
929            -1,
930            -1,
931            22,
932            -1,
933            -1,
934            -1,
935            28,
936            -1,
937            -1,
938            -1,
939            -1,
940            -1,
941            31,
942            43,
943            -1,
944            -1,
945            -1,
946            -1,
947            -1,
948            -1,
949            -1,
950            -1,
951            -1,
952            -1,
953            -1,
954            -1,
955            -1,
956            -1,
957            -1,
958            -1,
959            -1,
960            -1,
961            -1,
962            -1,
963            -1,
964            -1,
965            -1,
966            -1,
967            -1,
968            -1,
969            -1,
970            -1,
971            -1,
972            -1,
973            -1,
974            -1,
975            -1,
976            -1,
977            -1,
978            -1,
979            -1,
980            39,
981            -1,
982            -1,
983            -1,
984            -1,
985            -1,
986            -1,
987            78,
988            -1,
989            -1,
990            -1,
991            -1,
992            -1,
993            -1,
994            -1,
995            -1,
996            -1,
997            -1,
998            -1,
999            -1,
1000            -1,
1001            -1,
1002            -1,
1003            -1,
1004            -1,
1005            -1,
1006            45,
1007            -1,
1008            -1,
1009            -1,
1010            -1,
1011            -1,
1012            -1,
1013            -1,
1014            -1,
1015            -1,
1016            -1,
1017            -1,
1018            -1,
1019            -1,
1020            -1,
1021            -1,
1022            -1,
1023            -1,
1024            -1,
1025            -1,
1026            -1,
1027            -1,
1028            -1,
1029            -1,
1030            -1,
1031            12,
1032            -1,
1033            -1,
1034            -1,
1035            -1,
1036            -1,
1037            -1,
1038            -1,
1039            -1,
1040            49,
1041            -1,
1042            -1,
1043            -1,
1044            -1,
1045            -1,
1046            -1,
1047            -1,
1048            -1,
1049            -1,
1050            -1,
1051            -1,
1052            -1,
1053            -1,
1054            -1,
1055            72,
1056            -1,
1057            -1,
1058            -1,
1059            -1,
1060            -1,
1061            -1,
1062            -1,
1063            -1,
1064            -1,
1065            -1,
1066            -1,
1067            -1,
1068            -1,
1069            -1,
1070            -1,
1071            -1,
1072            -1,
1073            -1,
1074            -1,
1075            -1,
1076            -1,
1077            -1,
1078            81,
1079            -1,
1080            -1,
1081            -1,
1082            -1,
1083            -1,
1084            -1,
1085            -1,
1086            -1,
1087            -1,
1088            -1,
1089            69,
1090            -1,
1091            -1,
1092            -1,
1093            -1,
1094            -1,
1095            -1,
1096            -1,
1097            37,
1098            -1,
1099            -1,
1100            -1,
1101            -1,
1102            -1,
1103            -1,
1104            -1,
1105            -1,
1106            -1,
1107            -1,
1108            -1,
1109            -1,
1110            -1,
1111            -1,
1112            85,
1113            -1,
1114            -1,
1115            -1,
1116            -1,
1117            -1,
1118            -1,
1119            -1,
1120             4,
1121            -1,
1122            -1,
1123           0         /* base-of-table */
1124 };
1125 
1126 
1127 #define USERTABSIZE SIZEOF(user_names_data)
1128 
1129 #if 1
1130 static void
next_string(const char * strings,unsigned * offset)1131 next_string(const char *strings, unsigned *offset)
1132 {
1133     *offset += (unsigned) strlen(strings + *offset) + 1;
1134 }
1135 
1136 static const struct user_table_entry *
_nc_build_names(struct user_table_entry ** actual,const user_table_data * source,const char * strings)1137 _nc_build_names(struct user_table_entry **actual,
1138                     const user_table_data *source,
1139                     const char *strings)
1140 {
1141     if (*actual == 0) {
1142           *actual = typeCalloc(struct user_table_entry, USERTABSIZE);
1143           if (*actual != 0) {
1144               unsigned n;
1145               unsigned len = 0;
1146               for (n = 0; n < USERTABSIZE; ++n) {
1147                     (*actual)[n].ute_name = strings + len;
1148                     (*actual)[n].ute_type = (int) source[n].ute_type;
1149                     (*actual)[n].ute_argc = source[n].ute_argc;
1150                     (*actual)[n].ute_args = source[n].ute_args;
1151                     (*actual)[n].ute_index = source[n].ute_index;
1152                     (*actual)[n].ute_link = source[n].ute_link;
1153                     next_string(strings, &len);
1154               }
1155           }
1156     }
1157     return *actual;
1158 }
1159 
1160 #define build_names(root) _nc_build_names(&_nc_##root##_table, \
1161                                                     root##_names_data, \
1162                                                     root##_names_text)
1163 #else
1164 #define build_names(root) _nc_ ## root ## _table
1165 #endif
1166 
_nc_get_userdefs_table(void)1167 NCURSES_EXPORT(const struct user_table_entry *) _nc_get_userdefs_table (void)
1168 {
1169     return build_names(user) ;
1170 }
1171 
1172 static HashValue
info_hash(const char * string)1173 info_hash(const char *string)
1174 {
1175     long sum = 0;
1176 
1177     DEBUG(9, ("hashing %s", string));
1178     while (*string) {
1179           sum += (long) (*string + (*(string + 1) << 8));
1180           string++;
1181     }
1182 
1183     DEBUG(9, ("sum is %ld", sum));
1184     return (HashValue) (sum % HASHTABSIZE);
1185 }
1186 
1187 static int
compare_info_names(const char * a,const char * b)1188 compare_info_names(const char *a, const char *b)
1189 {
1190     return !strcmp(a, b);
1191 }
1192 
1193 static const HashData hash_data[] = {
1194     { HASHTABSIZE, _nc_user_hash_table, info_hash, compare_info_names }
1195 };
1196 
_nc_get_hash_user(void)1197 NCURSES_EXPORT(const HashData *) _nc_get_hash_user (void)
1198 {
1199     return hash_data;
1200 }
1201 
1202 #if NO_LEAKS
_nc_comp_userdefs_leaks(void)1203 NCURSES_EXPORT(void) _nc_comp_userdefs_leaks(void)
1204 {
1205 #if 1
1206     FreeIfNeeded(_nc_user_table);
1207 #endif
1208 }
1209 #endif /* NO_LEAKS */
1210 
1211 #else /*! NCURSES_XNAMES */
1212 NCURSES_EXPORT(void) _nc_comp_userdefs(void);
_nc_comp_userdefs(void)1213 NCURSES_EXPORT(void) _nc_comp_userdefs(void) { }
1214 #endif /* NCURSES_XNAMES */
1215