From fc5771e43ccf905d3e134b1e3349a3657acaa2a9 Mon Sep 17 00:00:00 2001 From: Marko Myllynen Date: Tue, 12 May 2015 10:50:28 +0300 Subject: Remove unused PREDEFINED_CLASSES code Hi, AFAICS PREDEFINED_CLASSES is never defined thus the code is unused. It would seem that the code is related to LO_LTYPE which was discussed in the past but there are no any recent references: http://pubs.opengroup.org/onlinepubs/9638399/loltype.htm Patch below, compiles and passes make check. 2015-05-12 Marko Myllynen * locale/C-ctype.c (PREDEFINED_CLASSES): Remove. * locale/programs/ld-ctype.c: Likewise. --- locale/C-ctype.c | 17 ++-------- locale/programs/ld-ctype.c | 81 +++------------------------------------------- 2 files changed, 6 insertions(+), 92 deletions(-) (limited to 'locale') diff --git a/locale/C-ctype.c b/locale/C-ctype.c index 7c616d8..aa5f19f 100644 --- a/locale/C-ctype.c +++ b/locale/C-ctype.c @@ -569,22 +569,9 @@ const struct __locale_data _nl_C_LC_CTYPE attribute_hidden = { .string = NULL }, /* _NL_CTYPE_CLASS_NAMES */ { .string = "upper\0" "lower\0" "alpha\0" "digit\0" "xdigit\0" "space\0" - "print\0" "graph\0" "blank\0" "cntrl\0" "punct\0" "alnum\0" -#ifdef PREDEFINED_CLASSES - "left_to_right\0" "right_to_left\0" "num_terminator\0" - "num_separator\0" "segment_separator\0" "block_separator\0" - "direction_control\0" "sym_swap_layout\0" "char_shape_selector\0" - "num_shape_selector\0" "non_spacing\0" "non_spacing_level3\0" - "r_connect\0" "no_connect\0" "no_connect-space\0" - "vowel_connect\0" -#endif - }, + "print\0" "graph\0" "blank\0" "cntrl\0" "punct\0" "alnum\0" }, /* _NL_CTYPE_MAP_NAMES */ - { .string = "toupper\0" "tolower\0" -#ifdef PREDEFINED_CLASSES - "tosymmetric\0" -#endif - }, + { .string = "toupper\0" "tolower\0" }, /* _NL_CTYPE_WIDTH */ { .string = (const char *) _nl_C_LC_CTYPE_width.header }, /* _NL_CTYPE_MB_CUR_MAX */ diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c index e8690f3..3f464ef 100644 --- a/locale/programs/ld-ctype.c +++ b/locale/programs/ld-ctype.c @@ -43,15 +43,6 @@ #include -#ifdef PREDEFINED_CLASSES -/* These are the extra bits not in wctype.h since these are not preallocated - classes. */ -# define _ISwspecial1 (1 << 29) -# define _ISwspecial2 (1 << 30) -# define _ISwspecial3 (1 << 31) -#endif - - /* The bit used for representing a special class. */ #define BITPOS(class) ((class) - tok_upper) #define BIT(class) (_ISbit (BITPOS (class))) @@ -337,26 +328,6 @@ ctype_startup (struct linereader *lr, struct localedef_t *locale, ctype_class_new (lr, ctype, "cntrl"); ctype_class_new (lr, ctype, "punct"); ctype_class_new (lr, ctype, "alnum"); -#ifdef PREDEFINED_CLASSES - /* The following are extensions from ISO 14652. */ - ctype_class_new (lr, ctype, "left_to_right"); - ctype_class_new (lr, ctype, "right_to_left"); - ctype_class_new (lr, ctype, "num_terminator"); - ctype_class_new (lr, ctype, "num_separator"); - ctype_class_new (lr, ctype, "segment_separator"); - ctype_class_new (lr, ctype, "block_separator"); - ctype_class_new (lr, ctype, "direction_control"); - ctype_class_new (lr, ctype, "sym_swap_layout"); - ctype_class_new (lr, ctype, "char_shape_selector"); - ctype_class_new (lr, ctype, "num_shape_selector"); - ctype_class_new (lr, ctype, "non_spacing"); - ctype_class_new (lr, ctype, "non_spacing_level3"); - ctype_class_new (lr, ctype, "normal_connect"); - ctype_class_new (lr, ctype, "r_connect"); - ctype_class_new (lr, ctype, "no_connect"); - ctype_class_new (lr, ctype, "no_connect-space"); - ctype_class_new (lr, ctype, "vowel_connect"); -#endif ctype->class_collection_max = charmap->mb_cur_max == 1 ? 256 : 512; ctype->class_collection @@ -368,18 +339,13 @@ ctype_startup (struct linereader *lr, struct localedef_t *locale, ctype->last_map_idx = MAX_NR_CHARMAP; ctype_map_new (lr, ctype, "toupper", charmap); ctype_map_new (lr, ctype, "tolower", charmap); -#ifdef PREDEFINED_CLASSES - ctype_map_new (lr, ctype, "tosymmetric", charmap); -#endif /* Fill first 256 entries in `toXXX' arrays. */ for (cnt = 0; cnt < 256; ++cnt) { ctype->map_collection[0][cnt] = cnt; ctype->map_collection[1][cnt] = cnt; -#ifdef PREDEFINED_CLASSES - ctype->map_collection[2][cnt] = cnt; -#endif + ctype->map256_collection[0][cnt] = cnt; ctype->map256_collection[1][cnt] = cnt; } @@ -2269,24 +2235,10 @@ ctype_read (struct linereader *ldfile, struct localedef_t *result, break; if (cnt >= ctype->nr_charclass) { -#ifdef PREDEFINED_CLASSES - if (now->val.str.lenmb == 8 - && memcmp ("special1", now->val.str.startmb, 8) == 0) - class_bit = _ISwspecial1; - else if (now->val.str.lenmb == 8 - && memcmp ("special2", now->val.str.startmb, 8) == 0) - class_bit = _ISwspecial2; - else if (now->val.str.lenmb == 8 - && memcmp ("special3", now->val.str.startmb, 8) == 0) - class_bit = _ISwspecial3; - else -#endif - { - /* OK, it's a new class. */ - ctype_class_new (ldfile, ctype, now->val.str.startmb); + /* OK, it's a new class. */ + ctype_class_new (ldfile, ctype, now->val.str.startmb); - class_bit = _ISwbit (ctype->nr_charclass - 1); - } + class_bit = _ISwbit (ctype->nr_charclass - 1); } else { @@ -2874,31 +2826,6 @@ previous definition was here"))); free (now->val.str.startmb); goto read_mapping; } -#ifdef PREDEFINED_CLASSES - if (strcmp (now->val.str.startmb, "special1") == 0) - { - class_bit = _ISwspecial1; - free (now->val.str.startmb); - goto read_charclass; - } - if (strcmp (now->val.str.startmb, "special2") == 0) - { - class_bit = _ISwspecial2; - free (now->val.str.startmb); - goto read_charclass; - } - if (strcmp (now->val.str.startmb, "special3") == 0) - { - class_bit = _ISwspecial3; - free (now->val.str.startmb); - goto read_charclass; - } - if (strcmp (now->val.str.startmb, "tosymmetric") == 0) - { - mapidx = 2; - goto read_mapping; - } -#endif break; case tok_end: -- cgit v1.1