summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/common/bits/uClibc_locale.h
diff options
context:
space:
mode:
authorManuel Novoa III <mjn3@codepoet.org>2003-08-28 17:16:53 +0000
committerManuel Novoa III <mjn3@codepoet.org>2003-08-28 17:16:53 +0000
commit9c6f2391ed8dd72d9e13db459d149de7bc707567 (patch)
tree1c84d71700579e531e8c763b0271be3fbad6d776 /libc/sysdeps/linux/common/bits/uClibc_locale.h
parente317054726be481c98a9ffe712a39331d0044396 (diff)
downloaduClibc-alpine-9c6f2391ed8dd72d9e13db459d149de7bc707567.tar.bz2
uClibc-alpine-9c6f2391ed8dd72d9e13db459d149de7bc707567.tar.xz
Create a typedef for the ctype bitmask table entries.
Hack a fix for ctype support of 8-bit codeset locales. Note: toupper/tolower mappings do not handle the special cases for the tr_TR and az_AZ locales, since the wide versions currently handle them either. That will be addressed when I rewrite the data generation tools and the libc locale code.
Diffstat (limited to 'libc/sysdeps/linux/common/bits/uClibc_locale.h')
-rw-r--r--libc/sysdeps/linux/common/bits/uClibc_locale.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/common/bits/uClibc_locale.h b/libc/sysdeps/linux/common/bits/uClibc_locale.h
index bf642b511..88226c638 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_locale.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_locale.h
@@ -141,11 +141,16 @@ typedef struct {
typedef struct {
#ifdef __UCLIBC_HAS_XLOCALE__
- const __uint16_t *__ctype_b;
+ const __ctype_mask_t *__ctype_b;
const __ctype_touplow_t *__ctype_tolower;
const __ctype_touplow_t *__ctype_toupper;
#endif
+ /* For now, just embed this in the structure. */
+ __ctype_mask_t __ctype_b_data[256 + __UCLIBC_CTYPE_B_TBL_OFFSET];
+ __ctype_touplow_t __ctype_tolower_data[256 + __UCLIBC_CTYPE_TO_TBL_OFFSET];
+ __ctype_touplow_t __ctype_toupper_data[256 + __UCLIBC_CTYPE_TO_TBL_OFFSET];
+
/* int tables_loaded; */
/* unsigned char lctypes[LOCALE_STRING_SIZE]; */
unsigned char cur_locale[LOCALE_STRING_SIZE];