diff options
author | Ulrich Drepper <drepper@gmail.com> | 2011-08-13 12:21:10 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-08-13 12:21:10 -0400 |
commit | f9ddf089f124279836930692b9cd7bc807e60088 (patch) | |
tree | c5a1524c7bbfb3bebed9ee23f702c69f4375d979 /intl/l10nflist.c | |
parent | 07df30d99565f1b4dd6d9abf4a1c169bbd9aa3be (diff) | |
download | glibc-f9ddf089f124279836930692b9cd7bc807e60088.tar.gz glibc-f9ddf089f124279836930692b9cd7bc807e60088.tar.xz glibc-f9ddf089f124279836930692b9cd7bc807e60088.zip |
Fix compile problem
l10nflist compiles for localedef now. Optimize a bit.
Diffstat (limited to 'intl/l10nflist.c')
-rw-r--r-- | intl/l10nflist.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/intl/l10nflist.c b/intl/l10nflist.c index 82af2633b5..df91f3deca 100644 --- a/intl/l10nflist.c +++ b/intl/l10nflist.c @@ -334,13 +334,18 @@ _nl_normalize_codeset (codeset, name_len) char *retval; char *wp; size_t cnt; +#ifdef NOT_IN_libc + locale_t locale = newlocale (0, "C", NULL); +#else +# define locale _nl_C_locobj_ptr +#endif for (cnt = 0; cnt < name_len; ++cnt) - if (__isalnum_l ((unsigned char) codeset[cnt], _nl_C_locobj_ptr)) + if (__isalnum_l ((unsigned char) codeset[cnt], locale)) { ++len; - if (__isalpha_l ((unsigned char) codeset[cnt], _nl_C_locobj_ptr)) + if (! __isdigit_l ((unsigned char) codeset[cnt], locale)) only_digit = 0; } @@ -348,15 +353,14 @@ _nl_normalize_codeset (codeset, name_len) if (retval != NULL) { + wp = retval; if (only_digit) - wp = stpcpy (retval, "iso"); - else - wp = retval; + wp = stpcpy (wp, "iso"); for (cnt = 0; cnt < name_len; ++cnt) - if (__isalpha_l ((unsigned char) codeset[cnt], _nl_C_locobj_ptr)) - *wp++ = tolower ((unsigned char) codeset[cnt]); - else if (__isdigit_l ((unsigned char) codeset[cnt], _nl_C_locobj_ptr)) + if (__isalpha_l ((unsigned char) codeset[cnt], locale)) + *wp++ = __tolower_l ((unsigned char) codeset[cnt], locale); + else if (__isdigit_l ((unsigned char) codeset[cnt], locale)) *wp++ = codeset[cnt]; *wp = '\0'; |