From 49f2be5b0eea30507a77e9467d0ef2c697953bca Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 8 Dec 1999 19:53:27 +0000 Subject: Update. * ctype/Versions: Add __ctype32_tolower and __ctype32_toupper. * ctype/ctype-info.c: Define __ctype32_tolower and __ctype32_toupper. * locale/C-ctype.c: Add _nl_C_LC_CTYPE_toupper32 and _nl_C_LC_CTYPE_tolower32 tables. Don't compile it names of 14652 classes and maps. * locale/langinfo.h: Define _NL_CTYPE_TOUPPER32 and _NL_CTYPE_TOLOWER32. * locale/lc-ctype.c (_nl_postload_ctype): Initialize __ctype32_toupper and __ctype32_tolower. * locale/programs/ld-ctype.c (struct locale_ctype_t): Add map32. (ctype_output): Write out map32 values. (allocate_arrays): Compute mapping tables correctly. * wctype/wcfuncs.c (towlower): Use __ctype32_tolower. (towupper): Use __ctype32_toupper. * wctype/wctype.h: Optimize towupper and towlower for values < 256. --- ctype/Versions | 4 ++++ ctype/ctype-info.c | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'ctype') diff --git a/ctype/Versions b/ctype/Versions index 6110f848c8..68df144f6d 100644 --- a/ctype/Versions +++ b/ctype/Versions @@ -11,4 +11,8 @@ libc { # t* toascii; tolower; toupper; } + GLIBC_2.2 { + # global variables + __ctype32_tolower; __ctype32_toupper; + } } diff --git a/ctype/ctype-info.c b/ctype/ctype-info.c index 30b1cce6ff..898ad06e72 100644 --- a/ctype/ctype-info.c +++ b/ctype/ctype-info.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 95, 96, 97, 99 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,6 +24,8 @@ extern const char _nl_C_LC_CTYPE_class[]; extern const char _nl_C_LC_CTYPE_class32[]; extern const char _nl_C_LC_CTYPE_toupper[]; extern const char _nl_C_LC_CTYPE_tolower[]; +extern const char _nl_C_LC_CTYPE_toupper32[]; +extern const char _nl_C_LC_CTYPE_tolower32[]; extern const char _nl_C_LC_CTYPE_names[]; extern const char _nl_C_LC_CTYPE_width[]; @@ -33,5 +35,7 @@ const unsigned short int *__ctype_b = b (unsigned short int, class, 128); const __uint32_t *__ctype32_b = b (__uint32_t, class32, 0); const __int32_t *__ctype_tolower = b (__int32_t, tolower, 128); const __int32_t *__ctype_toupper = b (__int32_t, toupper, 128); +const __uint32_t *__ctype32_tolower = b (__int32_t, tolower32, 0); +const __uint32_t *__ctype32_toupper = b (__int32_t, toupper32, 0); const __uint32_t *__ctype_names = b (__uint32_t, names, 0); const unsigned char *__ctype_width = b (unsigned char, width, 0); -- cgit v1.2.3