blob: 99ec163825b3b5c0dcd6f08c292f98cd690555d4 [file] [log] [blame]
LuK133752a81d52025-07-08 18:07:20 -04001/*
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/* 11 collisions out of 113 entries */
17static const char user_names_text[] = \
18"CO\0" "E3\0" "NQ\0" "RGB\0" "TS\0" "U8\0" "XM\0" "grbom\0" "gsbom\0" \
19"xm\0" "Rmol\0" "Smol\0" "blink2\0" "norm\0" "opaq\0" "setal\0" \
20"smul2\0" "AN\0" "AX\0" "C0\0" "C8\0" "CE\0" "CS\0" "E0\0" "G0\0" \
21"KJ\0" "OL\0" "S0\0" "TF\0" "WS\0" "XC\0" "XT\0" "Z0\0" "Z1\0" "Cr\0" \
22"Cs\0" "Csr\0" "Ms\0" "Se\0" "Smulx\0" "Ss\0" "rmxx\0" "smxx\0" "BD\0" \
23"BE\0" "PE\0" "PS\0" "RV\0" "XR\0" "XF\0" "fd\0" "fe\0" "rv\0" "xr\0" \
24"csl\0" "kDC3\0" "kDC4\0" "kDC5\0" "kDC6\0" "kDC7\0" "kDN\0" "kDN3\0" \
25"kDN4\0" "kDN5\0" "kDN6\0" "kDN7\0" "kEND3\0" "kEND4\0" "kEND5\0" \
26"kEND6\0" "kEND7\0" "kHOM3\0" "kHOM4\0" "kHOM5\0" "kHOM6\0" "kHOM7\0" \
27"kIC3\0" "kIC4\0" "kIC5\0" "kIC6\0" "kIC7\0" "kLFT3\0" "kLFT4\0" \
28"kLFT5\0" "kLFT6\0" "kLFT7\0" "kNXT3\0" "kNXT4\0" "kNXT5\0" "kNXT6\0" \
29"kNXT7\0" "kPRV3\0" "kPRV4\0" "kPRV5\0" "kPRV6\0" "kPRV7\0" "kRIT3\0" \
30"kRIT4\0" "kRIT5\0" "kRIT6\0" "kRIT7\0" "kUP\0" "kUP3\0" "kUP4\0" \
31"kUP5\0" "kUP6\0" "kUP7\0" "ka2\0" "kb1\0" "kb3\0" "kc2\0" "kxIN\0" \
32"kxOUT\0" ;
33
34static user_table_data const user_names_data[] =
35{
36 { 0, (1<<NUMBER), 0,0, 0, -1 },
37 { 3, (1<<STRING), 0,0, 0, -1 },
38 { 6, (1<<BOOLEAN), 0,0, 0, -1 },
39 { 9, (1<<BOOLEAN|1<<NUMBER|1<<STRING), 0,0, 1, -1 },
40 { 13, (1<<STRING), 0,0, 2, -1 },
41 { 16, (1<<NUMBER), 0,0, 2, -1 },
42 { 19, (1<<STRING), 1,0, 3, -1 },
43 { 22, (1<<STRING), 0,0, 4, -1 },
44 { 28, (1<<STRING), 0,0, 5, -1 },
45 { 34, (1<<STRING), 8,8, 14, -1 },
46 { 37, (1<<STRING), 0,0, 15, -1 },
47 { 42, (1<<STRING), 0,0, 16, -1 },
48 { 47, (1<<STRING), 0,0, 17, -1 },
49 { 54, (1<<STRING), 0,0, 18, -1 },
50 { 59, (1<<STRING), 0,0, 19, -1 },
51 { 64, (1<<STRING), 1,0, 20, -1 },
52 { 70, (1<<STRING), 0,0, 21, -1 },
53 { 76, (1<<BOOLEAN), 0,0, 2, -1 },
54 { 79, (1<<BOOLEAN), 0,0, 3, -1 },
55 { 82, (1<<STRING), 0,0, 22, -1 },
56 { 85, (1<<BOOLEAN), 0,0, 4, -1 },
57 { 88, (1<<STRING), 0,0, 23, -1 },
58 { 91, (1<<STRING), 0,0, 24, -1 },
59 { 94, (1<<STRING), 0,0, 25, -1 },
60 { 97, (1<<BOOLEAN), 0,0, 5, -1 },
61 { 100, (1<<STRING), 1,1, 26, -1 },
62 { 103, (1<<NUMBER), 0,0, 3, -1 },
63 { 106, (1<<STRING), 1,1, 27, -1 },
64 { 109, (1<<BOOLEAN), 0,0, 6, -1 },
65 { 112, (1<<STRING), 2,0, 28, -1 },
66 { 115, (1<<STRING), 1,1, 29, -1 },
67 { 118, (1<<BOOLEAN), 0,0, 7, -1 },
68 { 121, (1<<STRING), 0,0, 30, -1 },
69 { 124, (1<<STRING), 0,0, 31, -1 },
70 { 127, (1<<STRING), 0,0, 32, -1 },
71 { 130, (1<<STRING), 1,1, 33, -1 },
72 { 133, (1<<STRING), 1,0, 34, -1 },
73 { 137, (1<<STRING), 2,3, 35, -1 },
74 { 140, (1<<STRING), 0,0, 36, -1 },
75 { 143, (1<<STRING), 1,0, 37, -1 },
76 { 149, (1<<STRING), 1,0, 38, -1 },
77 { 152, (1<<STRING), 0,0, 39, -1 },
78 { 157, (1<<STRING), 0,0, 40, -1 },
79 { 162, (1<<STRING), 0,0, 41, -1 },
80 { 165, (1<<STRING), 0,0, 42, -1 },
81 { 168, (1<<STRING), 0,0, 43, -1 },
82 { 171, (1<<STRING), 0,0, 44, -1 },
83 { 174, (1<<STRING), 0,0, 45, -1 },
84 { 177, (1<<STRING), 0,0, 46, -1 },
85 { 180, (1<<BOOLEAN), 0,0, 8, -1 },
86 { 183, (1<<STRING), 0,0, 47, -1 },
87 { 186, (1<<STRING), 0,0, 48, -1 },
88 { 189, (1<<STRING), 0,0, 49, -1 },
89 { 192, (1<<STRING), 0,0, 50, -1 },
90 { 195, (1<<STRING), 0,0, 51, -1 },
91 { 199, (1<<STRING), 0,0, 52, -1 },
92 { 204, (1<<STRING), 0,0, 53, -1 },
93 { 209, (1<<STRING), 0,0, 54, -1 },
94 { 214, (1<<STRING), 0,0, 55, -1 },
95 { 219, (1<<STRING), 0,0, 56, 17 },
96 { 224, (1<<STRING), 0,0, 57, -1 },
97 { 228, (1<<STRING), 0,0, 58, -1 },
98 { 233, (1<<STRING), 0,0, 59, -1 },
99 { 238, (1<<STRING), 0,0, 60, -1 },
100 { 243, (1<<STRING), 0,0, 61, 18 },
101 { 248, (1<<STRING), 0,0, 62, -1 },
102 { 253, (1<<STRING), 0,0, 63, -1 },
103 { 259, (1<<STRING), 0,0, 64, -1 },
104 { 265, (1<<STRING), 0,0, 65, 16 },
105 { 271, (1<<STRING), 0,0, 66, -1 },
106 { 277, (1<<STRING), 0,0, 67, -1 },
107 { 283, (1<<STRING), 0,0, 68, -1 },
108 { 289, (1<<STRING), 0,0, 69, -1 },
109 { 295, (1<<STRING), 0,0, 70, -1 },
110 { 301, (1<<STRING), 0,0, 71, -1 },
111 { 307, (1<<STRING), 0,0, 72, -1 },
112 { 313, (1<<STRING), 0,0, 73, -1 },
113 { 318, (1<<STRING), 0,0, 74, -1 },
114 { 323, (1<<STRING), 0,0, 75, -1 },
115 { 328, (1<<STRING), 0,0, 76, -1 },
116 { 333, (1<<STRING), 0,0, 77, -1 },
117 { 338, (1<<STRING), 0,0, 78, 73 },
118 { 344, (1<<STRING), 0,0, 79, 74 },
119 { 350, (1<<STRING), 0,0, 80, 75 },
120 { 356, (1<<STRING), 0,0, 81, -1 },
121 { 362, (1<<STRING), 0,0, 82, -1 },
122 { 368, (1<<STRING), 0,0, 83, -1 },
123 { 374, (1<<STRING), 0,0, 84, -1 },
124 { 380, (1<<STRING), 0,0, 85, -1 },
125 { 386, (1<<STRING), 0,0, 86, -1 },
126 { 392, (1<<STRING), 0,0, 87, -1 },
127 { 398, (1<<STRING), 0,0, 88, -1 },
128 { 404, (1<<STRING), 0,0, 89, -1 },
129 { 410, (1<<STRING), 0,0, 90, 86 },
130 { 416, (1<<STRING), 0,0, 91, 87 },
131 { 422, (1<<STRING), 0,0, 92, 88 },
132 { 428, (1<<STRING), 0,0, 93, -1 },
133 { 434, (1<<STRING), 0,0, 94, -1 },
134 { 440, (1<<STRING), 0,0, 95, -1 },
135 { 446, (1<<STRING), 0,0, 96, -1 },
136 { 452, (1<<STRING), 0,0, 97, -1 },
137 { 458, (1<<STRING), 0,0, 98, -1 },
138 { 462, (1<<STRING), 0,0, 99, -1 },
139 { 467, (1<<STRING), 0,0, 100, -1 },
140 { 472, (1<<STRING), 0,0, 101, -1 },
141 { 477, (1<<STRING), 0,0, 102, -1 },
142 { 482, (1<<STRING), 0,0, 103, -1 },
143 { 487, (1<<STRING), 0,0, 104, -1 },
144 { 491, (1<<STRING), 0,0, 105, 107 },
145 { 495, (1<<STRING), 0,0, 106, -1 },
146 { 499, (1<<STRING), 0,0, 107, 109 },
147 { 503, (1<<STRING), 0,0, 108, -1 },
148 { 508, (1<<STRING), 0,0, 109, -1 }
149};
150
151static struct user_table_entry *_nc_user_table = 0;
152
153static const HashValue _nc_user_hash_table[995] =
154{
155 -1,
156 -1,
157 -1,
158 -1,
159 -1,
160 -1,
161 -1,
162 -1,
163 78,
164 -1,
165 -1,
166 -1,
167 -1,
168 -1,
169 -1,
170 -1,
171 -1,
172 -1,
173 -1,
174 82,
175 -1,
176 2,
177 -1,
178 -1,
179 -1,
180 -1,
181 -1,
182 -1,
183 -1,
184 -1,
185 -1,
186 -1,
187 -1,
188 -1,
189 -1,
190 -1,
191 -1,
192 -1,
193 -1,
194 -1,
195 -1,
196 -1,
197 61,
198 -1,
199 -1,
200 -1,
201 -1,
202 -1,
203 -1,
204 -1,
205 -1,
206 -1,
207 -1,
208 -1,
209 -1,
210 -1,
211 8,
212 -1,
213 -1,
214 -1,
215 -1,
216 -1,
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 65,
232 -1,
233 -1,
234 -1,
235 -1,
236 -1,
237 -1,
238 -1,
239 -1,
240 -1,
241 -1,
242 96,
243 -1,
244 -1,
245 -1,
246 -1,
247 -1,
248 -1,
249 -1,
250 -1,
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 108,
270 -1,
271 -1,
272 -1,
273 -1,
274 -1,
275 -1,
276 100,
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 67,
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 -1,
312 -1,
313 -1,
314 -1,
315 -1,
316 -1,
317 -1,
318 -1,
319 -1,
320 -1,
321 -1,
322 -1,
323 -1,
324 -1,
325 -1,
326 -1,
327 -1,
328 -1,
329 111,
330 -1,
331 -1,
332 -1,
333 -1,
334 -1,
335 -1,
336 -1,
337 28,
338 -1,
339 -1,
340 -1,
341 49,
342 -1,
343 -1,
344 94,
345 -1,
346 -1,
347 -1,
348 -1,
349 -1,
350 -1,
351 38,
352 55,
353 -1,
354 -1,
355 -1,
356 -1,
357 12,
358 -1,
359 -1,
360 -1,
361 -1,
362 25,
363 -1,
364 -1,
365 -1,
366 -1,
367 103,
368 -1,
369 -1,
370 51,
371 -1,
372 -1,
373 -1,
374 -1,
375 -1,
376 -1,
377 -1,
378 15,
379 -1,
380 -1,
381 -1,
382 -1,
383 -1,
384 -1,
385 -1,
386 59,
387 -1,
388 -1,
389 -1,
390 -1,
391 -1,
392 -1,
393 -1,
394 -1,
395 -1,
396 -1,
397 71,
398 -1,
399 -1,
400 -1,
401 -1,
402 -1,
403 -1,
404 -1,
405 -1,
406 -1,
407 -1,
408 112,
409 1,
410 -1,
411 -1,
412 -1,
413 -1,
414 -1,
415 -1,
416 -1,
417 -1,
418 -1,
419 -1,
420 79,
421 -1,
422 -1,
423 -1,
424 -1,
425 -1,
426 -1,
427 -1,
428 -1,
429 36,
430 -1,
431 83,
432 -1,
433 -1,
434 -1,
435 -1,
436 -1,
437 -1,
438 -1,
439 -1,
440 -1,
441 -1,
442 -1,
443 48,
444 -1,
445 -1,
446 -1,
447 -1,
448 -1,
449 -1,
450 -1,
451 -1,
452 -1,
453 -1,
454 62,
455 -1,
456 9,
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 47,
472 -1,
473 -1,
474 -1,
475 -1,
476 -1,
477 -1,
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 97,
500 -1,
501 -1,
502 41,
503 42,
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 14,
519 -1,
520 -1,
521 -1,
522 -1,
523 -1,
524 -1,
525 -1,
526 -1,
527 -1,
528 -1,
529 -1,
530 -1,
531 -1,
532 -1,
533 -1,
534 -1,
535 -1,
536 -1,
537 -1,
538 -1,
539 -1,
540 -1,
541 -1,
542 -1,
543 -1,
544 -1,
545 -1,
546 -1,
547 -1,
548 -1,
549 -1,
550 -1,
551 -1,
552 68,
553 -1,
554 -1,
555 -1,
556 -1,
557 -1,
558 -1,
559 -1,
560 -1,
561 -1,
562 -1,
563 -1,
564 30,
565 -1,
566 -1,
567 91,
568 -1,
569 -1,
570 -1,
571 -1,
572 -1,
573 -1,
574 -1,
575 -1,
576 -1,
577 -1,
578 -1,
579 -1,
580 -1,
581 -1,
582 -1,
583 -1,
584 -1,
585 -1,
586 -1,
587 -1,
588 -1,
589 -1,
590 -1,
591 -1,
592 -1,
593 -1,
594 -1,
595 -1,
596 -1,
597 -1,
598 -1,
599 -1,
600 -1,
601 95,
602 -1,
603 -1,
604 -1,
605 -1,
606 -1,
607 -1,
608 -1,
609 56,
610 -1,
611 -1,
612 -1,
613 -1,
614 -1,
615 -1,
616 -1,
617 -1,
618 39,
619 13,
620 -1,
621 -1,
622 -1,
623 -1,
624 104,
625 -1,
626 -1,
627 -1,
628 -1,
629 -1,
630 19,
631 -1,
632 23,
633 -1,
634 24,
635 -1,
636 -1,
637 -1,
638 -1,
639 -1,
640 -1,
641 -1,
642 -1,
643 76,
644 -1,
645 0,
646 27,
647 -1,
648 -1,
649 -1,
650 -1,
651 -1,
652 -1,
653 32,
654 72,
655 -1,
656 3,
657 -1,
658 -1,
659 -1,
660 -1,
661 -1,
662 -1,
663 -1,
664 -1,
665 -1,
666 -1,
667 -1,
668 -1,
669 -1,
670 -1,
671 -1,
672 -1,
673 -1,
674 -1,
675 -1,
676 -1,
677 80,
678 -1,
679 22,
680 -1,
681 -1,
682 -1,
683 -1,
684 -1,
685 -1,
686 -1,
687 -1,
688 84,
689 -1,
690 -1,
691 -1,
692 46,
693 -1,
694 34,
695 -1,
696 4,
697 -1,
698 20,
699 29,
700 -1,
701 -1,
702 -1,
703 -1,
704 -1,
705 -1,
706 -1,
707 -1,
708 -1,
709 -1,
710 -1,
711 63,
712 -1,
713 -1,
714 -1,
715 -1,
716 5,
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 -1,
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 53,
748 -1,
749 -1,
750 -1,
751 -1,
752 -1,
753 -1,
754 -1,
755 -1,
756 98,
757 -1,
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 52,
776 -1,
777 -1,
778 -1,
779 -1,
780 -1,
781 -1,
782 -1,
783 110,
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 -1,
799 43,
800 -1,
801 -1,
802 -1,
803 -1,
804 -1,
805 -1,
806 -1,
807 -1,
808 -1,
809 69,
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 92,
825 -1,
826 -1,
827 -1,
828 -1,
829 -1,
830 -1,
831 -1,
832 -1,
833 -1,
834 -1,
835 -1,
836 -1,
837 -1,
838 -1,
839 -1,
840 -1,
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 -1,
855 -1,
856 -1,
857 -1,
858 89,
859 -1,
860 -1,
861 -1,
862 -1,
863 -1,
864 -1,
865 -1,
866 57,
867 -1,
868 -1,
869 -1,
870 -1,
871 -1,
872 -1,
873 -1,
874 -1,
875 -1,
876 -1,
877 -1,
878 -1,
879 -1,
880 26,
881 105,
882 -1,
883 -1,
884 -1,
885 -1,
886 -1,
887 -1,
888 -1,
889 -1,
890 -1,
891 -1,
892 -1,
893 -1,
894 -1,
895 -1,
896 -1,
897 -1,
898 -1,
899 -1,
900 77,
901 -1,
902 -1,
903 -1,
904 -1,
905 -1,
906 -1,
907 54,
908 -1,
909 -1,
910 33,
911 81,
912 -1,
913 -1,
914 -1,
915 -1,
916 -1,
917 -1,
918 -1,
919 101,
920 -1,
921 -1,
922 -1,
923 -1,
924 -1,
925 -1,
926 -1,
927 -1,
928 -1,
929 -1,
930 -1,
931 -1,
932 -1,
933 -1,
934 -1,
935 -1,
936 -1,
937 -1,
938 -1,
939 -1,
940 -1,
941 -1,
942 -1,
943 -1,
944 -1,
945 85,
946 -1,
947 -1,
948 7,
949 -1,
950 -1,
951 35,
952 -1,
953 -1,
954 -1,
955 -1,
956 -1,
957 31,
958 -1,
959 -1,
960 -1,
961 37,
962 -1,
963 -1,
964 -1,
965 -1,
966 -1,
967 40,
968 64,
969 -1,
970 -1,
971 -1,
972 -1,
973 -1,
974 -1,
975 -1,
976 -1,
977 -1,
978 -1,
979 -1,
980 -1,
981 -1,
982 -1,
983 -1,
984 -1,
985 -1,
986 -1,
987 -1,
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 60,
1007 -1,
1008 -1,
1009 -1,
1010 -1,
1011 -1,
1012 -1,
1013 99,
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 -1,
1032 66,
1033 -1,
1034 -1,
1035 -1,
1036 -1,
1037 10,
1038 11,
1039 -1,
1040 -1,
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 -1,
1056 44,
1057 21,
1058 -1,
1059 -1,
1060 -1,
1061 -1,
1062 -1,
1063 -1,
1064 -1,
1065 -1,
1066 70,
1067 -1,
1068 -1,
1069 -1,
1070 45,
1071 -1,
1072 -1,
1073 -1,
1074 -1,
1075 -1,
1076 -1,
1077 -1,
1078 -1,
1079 -1,
1080 -1,
1081 93,
1082 -1,
1083 -1,
1084 -1,
1085 -1,
1086 -1,
1087 -1,
1088 -1,
1089 -1,
1090 -1,
1091 -1,
1092 -1,
1093 -1,
1094 -1,
1095 -1,
1096 -1,
1097 -1,
1098 -1,
1099 -1,
1100 -1,
1101 -1,
1102 -1,
1103 -1,
1104 102,
1105 -1,
1106 -1,
1107 50,
1108 -1,
1109 -1,
1110 -1,
1111 -1,
1112 -1,
1113 -1,
1114 -1,
1115 90,
1116 -1,
1117 -1,
1118 -1,
1119 -1,
1120 -1,
1121 -1,
1122 -1,
1123 58,
1124 -1,
1125 -1,
1126 -1,
1127 -1,
1128 -1,
1129 -1,
1130 -1,
1131 -1,
1132 -1,
1133 -1,
1134 -1,
1135 -1,
1136 -1,
1137 -1,
1138 106,
1139 -1,
1140 -1,
1141 -1,
1142 -1,
1143 -1,
1144 -1,
1145 -1,
1146 6,
1147 -1,
1148 -1,
1149 0 /* base-of-table */
1150};
1151
1152
1153#define USERTABSIZE SIZEOF(user_names_data)
1154
1155#if 1
1156static void
1157next_string(const char *strings, unsigned *offset)
1158{
1159 *offset += (unsigned) strlen(strings + *offset) + 1;
1160}
1161
1162static const struct user_table_entry *
1163_nc_build_names(struct user_table_entry **actual,
1164 const user_table_data *source,
1165 const char *strings)
1166{
1167 if (*actual == 0) {
1168 *actual = typeCalloc(struct user_table_entry, USERTABSIZE);
1169 if (*actual != 0) {
1170 unsigned n;
1171 unsigned len = 0;
1172 for (n = 0; n < USERTABSIZE; ++n) {
1173 (*actual)[n].ute_name = strings + len;
1174 (*actual)[n].ute_type = (int) source[n].ute_type;
1175 (*actual)[n].ute_argc = source[n].ute_argc;
1176 (*actual)[n].ute_args = source[n].ute_args;
1177 (*actual)[n].ute_index = source[n].ute_index;
1178 (*actual)[n].ute_link = source[n].ute_link;
1179 next_string(strings, &len);
1180 }
1181 }
1182 }
1183 return *actual;
1184}
1185
1186#define build_names(root) _nc_build_names(&_nc_##root##_table, \
1187 root##_names_data, \
1188 root##_names_text)
1189#else
1190#define build_names(root) _nc_ ## root ## _table
1191#endif
1192
1193NCURSES_EXPORT(const struct user_table_entry *) _nc_get_userdefs_table (void)
1194{
1195 return build_names(user) ;
1196}
1197
1198static HashValue
1199info_hash(const char *string)
1200{
1201 long sum = 0;
1202
1203 DEBUG(9, ("hashing %s", string));
1204 while (*string) {
1205 sum += (long) (*string + (*(string + 1) << 8));
1206 string++;
1207 }
1208
1209 DEBUG(9, ("sum is %ld", sum));
1210 return (HashValue) (sum % HASHTABSIZE);
1211}
1212
1213static int
1214compare_info_names(const char *a, const char *b)
1215{
1216 return !strcmp(a, b);
1217}
1218
1219static const HashData hash_data[] = {
1220 { HASHTABSIZE, _nc_user_hash_table, info_hash, compare_info_names }
1221};
1222
1223NCURSES_EXPORT(const HashData *) _nc_get_hash_user (void)
1224{
1225 return hash_data;
1226}
1227
1228#if NO_LEAKS
1229NCURSES_EXPORT(void) _nc_comp_userdefs_leaks(void)
1230{
1231#if 1
1232 FreeIfNeeded(_nc_user_table);
1233#endif
1234}
1235#endif /* NO_LEAKS */
1236
1237#else /*! NCURSES_XNAMES */
1238NCURSES_EXPORT(void) _nc_comp_userdefs(void);
1239NCURSES_EXPORT(void) _nc_comp_userdefs(void) { }
1240#endif /* NCURSES_XNAMES */