Home | History | Annotate | Download | only in mklocale

Lines Matching refs:list

15  *    notice, this list of conditions and the following disclaimer.
17 * notice, this list of conditions and the following disclaimer in the
107 rune_list *list;
117 %token <i> LIST
124 %type <list> list
125 %type <list> map
184 | LIST list
194 list : RUNE
208 | list RUNE
215 | list RUNE THRU RUNE
374 set_map(rune_map *map, rune_list *list, u_int32_t flag)
376 list->map &= charsetmask;
377 list->map |= charsetbits;
378 while (list) {
379 rune_list *nlist = list->next;
380 add_map(map, list, flag);
381 list = nlist;
386 set_digitmap(rune_map *map, rune_list *list)
390 while (list) {
391 rune_list *nlist = list->next;
392 for (i = list->min; i <= list->max; ++i) {
398 _RuneType digit = list->map + (i - list->min);
407 free(list);
408 list = nlist;
413 add_map(rune_map *map, rune_list *list, u_int32_t flag)
420 while (list->min < _CTYPE_CACHE_SIZE && list->min <= list->max) {
422 map->map[list->min++] |= flag;
424 map->map[list->min++] = list->map++;
427 if (list->min > list->max) {
428 free(list);
432 run = list->max - list->min + 1;
434 if (!(r = map->root) || (list->max < r->min - 1)
435 || (!flag && list->max == r->min - 1)) {
437 list->types = xlalloc(run);
439 list->types[i] = flag;
441 list->next = map->root;
442 map->root = list;
446 for (r = map->root; r && r->max + 1 < list->min; r = r->next)
454 list->types = xlalloc(run);
456 list->types[i] = flag;
458 list->next = 0;
459 lr->next = list;
463 if (list->max < r->min - 1) {
469 list->types = xlalloc(run);
471 list->types[i] = flag;
473 list->next = lr->next;
474 lr->next = list;
484 if (!flag && list->map - list->min != r->map - r->min) {
490 if (list->max + 1 == r->min) {
491 lr->next = list;
492 list->next = r;
495 if (list->min - 1 == r->max) {
496 list->next = r->next;
497 r->next = list;
504 if (list->min >= r->min && list->max <= r->max) {
510 for (i = list->min; i <= list->max; ++i)
513 free(list);
516 if (list->min <= r->min && list->max >= r->max) {
522 list->types = xlalloc(list->max - list->min + 1);
524 for (i = list->min; i <= list->max; ++i)
525 list->types[i - list->min] = flag;
528 list->types[i - list->min] |= r->types[i - r->min];
531 r->types = list->types;
533 r->map = list->map;
535 r->min = list->min;
536 r->max = list->max;
537 free(list);
538 } else if (list->min < r->min) {
543 list->types = xlalloc(r->max - list->min + 1);
546 list->types[i - list->min] = r->types[i - r->min];
548 for (i = list->min; i < r->min; ++i)
549 list->types[i - list->min] = flag;
551 for (i = r->min; i <= list->max; ++i)
552 list->types[i - list->min] |= flag;
555 r->types = list->types;
557 r->map = list->map;
559 r->min = list->min;
560 free(list);
568 r->types = xrelalloc(r->types, list->max - r->min + 1);
570 for (i = list->min; i <= r->max; ++i)
573 for (i = r->max+1; i <= list->max; ++i)
576 r->max = list->max;
577 free(list);
622 rune_list *list;
629 for(list = types.root; list; list = list->next) {
630 list->map = list->types[0];
631 for (x = 1; x < list->max - list->min + 1; ++x) {
632 if (list->types[x] != list->map) {
633 list->map = 0;
654 list = types.root;
657 while (list) {
659 list = list->next;
664 list = maplower.root;
667 while (list) {
669 list = list->next;
674 list = mapupper.root;
677 while (list) {
679 list = list->next;
696 for (list = types.root, n = 0; list != NULL; list = list->next, n++) {
700 re.fre_min = htonl(list->min);
701 re.fre_max = htonl(list->max);
702 re.fre_map = htonl(list->map);
710 for (list = maplower.root, n = 0; list != NULL; list = list->next, n++) {
714 list->min);
715 re.fre_max = htonl(list->max);
716 re.fre_map = htonl(list->map);
724 for (list = mapupper.root, n = 0; list != NULL; list = list->next, n++) {
728 re.fre_min = htonl(list->min);
729 re.fre_max = htonl(list->max);
730 re.fre_map = htonl(list->map);
738 for (list = types.root, n = 0; list != NULL; list = list->next, n++) {
739 for (x = 0; x < list->max - list->min + 1; ++x)
740 list->types[x] = htonl(list->types[x]);
742 if (!list->map) {
743 if (fwrite((char *)list->types,
744 (list->max - list->min + 1) * sizeof(u_int32_t),
783 for (list = maplower.root; list; list = list->next)
784 fprintf(stderr, "\t%04x - %04x : %04x\n", list->min, list->max, list->map);
802 for (list = mapupper.root; list; list = list->next)
803 fprintf(stderr, "\t%04x - %04x : %04x\n", list->min, list->max, list->map);
835 for (list = types.root; list; list = list->next) {
836 if (list->map && list->min + 3 < list->max) {
837 u_int32_t r = list->map;
839 fprintf(stderr, "%04x:%2d", list->min, r & 0xff);
857 fprintf(stderr, "%04x:%2d", list->max, r & 0xff);
876 for (x = list->min; x <= list->max; ++x) {
877 u_int32_t r = ntohl(list->types[x - list->min]);