diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-02-13 07:40:16 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-02-13 07:40:16 +0000 |
commit | b02b9253e0c1770707ed791f0aa274af79886932 (patch) | |
tree | c96810ca1b2a2c7cb6a5a8ed48584736b6eb3bf5 /wctype | |
parent | Update. (diff) | |
download | glibc-b02b9253e0c1770707ed791f0aa274af79886932.tar.gz glibc-b02b9253e0c1770707ed791f0aa274af79886932.tar.bz2 glibc-b02b9253e0c1770707ed791f0aa274af79886932.zip |
Update.
2000-02-12 Ulrich Drepper <drepper@redhat.com>
* locale/nl_langinfo.h: Add casts to prevent warnings.
* wctype/iswctype_l.c: Use correct types for mapped data.
* wctype/wcfuncs.c: Add one more comment for clarification.
* wctype/wcfuncs_l.c: Use __ctype32_tolower and __ctype32_toupper.
* wctype/wctrans.c: Likewise.
Diffstat (limited to 'wctype')
-rw-r--r-- | wctype/iswctype_l.c | 6 | ||||
-rw-r--r-- | wctype/wcfuncs.c | 4 | ||||
-rw-r--r-- | wctype/wcfuncs_l.c | 30 | ||||
-rw-r--r-- | wctype/wctrans.c | 6 |
4 files changed, 36 insertions, 10 deletions
diff --git a/wctype/iswctype_l.c b/wctype/iswctype_l.c index 75fb41c4c8..fa4e024fce 100644 --- a/wctype/iswctype_l.c +++ b/wctype/iswctype_l.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. @@ -27,14 +27,14 @@ int __iswctype_l (wint_t wc, wctype_t desc, __locale_t locale) { - const unsigned int *class32_b; + const uint32_t *class32_b; size_t idx; idx = cname_lookup (wc, locale); if (idx == ~((size_t) 0)) return 0; - class32_b = (u_int32_t *) + class32_b = (uint32_t *) locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_CLASS32)].string; return class32_b[idx] & desc; diff --git a/wctype/wcfuncs.c b/wctype/wcfuncs.c index 2f60c4a650..fdb5dc7a70 100644 --- a/wctype/wcfuncs.c +++ b/wctype/wcfuncs.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999, 2000 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 @@ -25,6 +25,8 @@ /* If the program is compiled without optimization the following declaration is not visible in the header. */ extern unsigned int *__ctype32_b; + +/* These are not exported. */ extern const uint32_t *__ctype32_toupper; extern const uint32_t *__ctype32_tolower; diff --git a/wctype/wcfuncs_l.c b/wctype/wcfuncs_l.c index 775676eb38..0c75359a41 100644 --- a/wctype/wcfuncs_l.c +++ b/wctype/wcfuncs_l.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 2000 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 @@ -18,6 +18,10 @@ #define __NO_WCTYPE #include <wctype.h> +#include <stdint.h> + +#define USE_IN_EXTENDED_LOCALE_MODEL +#include "cname-lookup.h" /* Provide real-function versions of all the wctype macros. */ @@ -40,11 +44,31 @@ func (__iswxdigit_l, _ISwxdigit) wint_t (__towlower_l) (wint_t wc, __locale_t locale) { - return __towctrans_l (wc, locale->__ctype_tolower, locale); + const int32_t *class32_tolower; + size_t idx; + + idx = cname_lookup (wc, locale); + if (idx == ~((size_t) 0)) + return 0; + + class32_tolower = (const int32_t *) + locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_TOLOWER32)].string; + + return class32_tolower[idx]; } wint_t (__towupper_l) (wint_t wc, __locale_t locale) { - return __towctrans_l (wc, locale->__ctype_toupper, locale); + const int32_t *class32_toupper; + size_t idx; + + idx = cname_lookup (wc, locale); + if (idx == ~((size_t) 0)) + return 0; + + class32_toupper = (const int32_t *) + locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_TOUPPER32)].string; + + return class32_toupper[idx]; } diff --git a/wctype/wctrans.c b/wctype/wctrans.c index 5d7b5bda38..a9f83e40b9 100644 --- a/wctype/wctrans.c +++ b/wctype/wctrans.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. @@ -45,9 +45,9 @@ wctrans (const char *property) return 0; if (cnt == 0) - return (wctrans_t) __ctype_toupper; + return (wctrans_t) __ctype32_toupper; else if (cnt == 1) - return (wctrans_t) __ctype_tolower; + return (wctrans_t) __ctype32_tolower; /* We have to search the table. */ result = (int32_t *) _NL_CURRENT (LC_CTYPE, _NL_NUM_LC_CTYPE + cnt - 2); |