summaryrefslogtreecommitdiff
path: root/libc/misc/wctype
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-12-22 13:51:28 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-12-22 13:51:28 +0000
commit1ad544a2ade2d8adcebc20de065bfafd7cd507a5 (patch)
tree0372195a1a66e369609fd7c58f65989bb7a269ea /libc/misc/wctype
parent01b8804866ae879c1657f0eed3816755aaf6e243 (diff)
UCLIBC_CTYPE_HEADER define is removed, as it always
equal to "include/bits/uClibc_ctype.h" __CTYPE_unclassified and other similar __CTYPE_xxxx constants are moved to separate include file, bits/uClibc_charclass.h Duplicate declaration of these constants is removed from libc/misc/wctype/_wctype.c Ugly re-inclusion trick in extra/locale/gen_wctype.c deleted Large ifdefed-out chunk in extra/locale/gen_wctype.c removed Move __CTYPE_isalnum() etc macros from uClibc_ctype.h to their single user, extra/locale/gen_wctype.c (can be simplified further) Overall, no code changes (verified with objdump)
Diffstat (limited to 'libc/misc/wctype')
-rw-r--r--libc/misc/wctype/_wctype.c38
1 files changed, 2 insertions, 36 deletions
diff --git a/libc/misc/wctype/_wctype.c b/libc/misc/wctype/_wctype.c
index 9887808b6..c3303d247 100644
--- a/libc/misc/wctype/_wctype.c
+++ b/libc/misc/wctype/_wctype.c
@@ -70,43 +70,9 @@
* towctrans function. */
/* #define SMALL_UPLOW */
-/**********************************************************************/
-#ifdef __UCLIBC_MJN3_ONLY__
-#ifdef L_iswspace
-/* generates one warning */
-#warning TODO: Fix the __CTYPE_* codes!
-#endif
-#endif /* __UCLIBC_MJN3_ONLY__ */
-#if 1
-/* Taking advantage of the C99 mutual-exclusion guarantees for the various
- * (w)ctype classes, including the descriptions of printing and control
- * (w)chars, we can place each in one of the following mutually-exlusive
- * subsets. Since there are less than 16, we can store the data for
- * each (w)chars in a nibble. In contrast, glibc uses an unsigned int
- * per (w)char, with one bit flag for each is* type. While this allows
- * a simple '&' operation to determine the type vs. a range test and a
- * little special handling for the "blank" and "xdigit" types in my
- * approach, it also uses 8 times the space for the tables on the typical
- * 32-bit archs we supported.*/
-enum {
- __CTYPE_unclassified = 0,
- __CTYPE_alpha_nonupper_nonlower,
- __CTYPE_alpha_lower,
- __CTYPE_alpha_upper_lower,
- __CTYPE_alpha_upper,
- __CTYPE_digit,
- __CTYPE_punct,
- __CTYPE_graph,
- __CTYPE_print_space_nonblank,
- __CTYPE_print_space_blank,
- __CTYPE_space_nonblank_noncntrl,
- __CTYPE_space_blank_noncntrl,
- __CTYPE_cntrl_space_nonblank,
- __CTYPE_cntrl_space_blank,
- __CTYPE_cntrl_nonspace
-};
-#endif
+/* Pull in __CTYPE_xxx constants */
+#include <bits/uClibc_charclass.h>
/* The following is used to implement wctype(), but it is defined