From 89edf2e9119b57fc404891670d2bc47bdfdb61ef Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 11 Aug 2011 14:04:08 -0400 Subject: [PATCH] Locale-independent parsing in libintl --- ChangeLog | 5 +++++ intl/l10nflist.c | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index c8bb204..88ed726 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-08-11 Ulrich Drepper + + * intl/l10nflist.c (_nl_make_l10nflist): Use locale-independent + classification. + 2011-08-10 Andreas Schwab * include/dirent.h: Add libc_hidden_proto for scandirat and diff --git a/intl/l10nflist.c b/intl/l10nflist.c index 2c06a91..a38e0ef 100644 --- a/intl/l10nflist.c +++ b/intl/l10nflist.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2002, 2004, 2005 Free Software Foundation, Inc. +/* Copyright (C) 1995-2002, 2004, 2005, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1995. @@ -134,7 +134,7 @@ argz_next__ (argz, argz_len, entry) if (entry) { if (entry < argz + argz_len) - entry = strchr (entry, '\0') + 1; + entry = strchr (entry, '\0') + 1; return entry >= argz + argz_len ? NULL : (char *) entry; } @@ -334,11 +334,11 @@ _nl_normalize_codeset (codeset, name_len) size_t cnt; for (cnt = 0; cnt < name_len; ++cnt) - if (isalnum ((unsigned char) codeset[cnt])) + if (__isalnum_l ((unsigned char) codeset[cnt], _nl_C_locobj_ptr)) { ++len; - if (isalpha ((unsigned char) codeset[cnt])) + if (__isalpha_l ((unsigned char) codeset[cnt], _nl_C_locobj_ptr)) only_digit = 0; } @@ -352,9 +352,9 @@ _nl_normalize_codeset (codeset, name_len) wp = retval; for (cnt = 0; cnt < name_len; ++cnt) - if (isalpha ((unsigned char) codeset[cnt])) + if (__isalpha_l ((unsigned char) codeset[cnt], _nl_C_locobj_ptr)) *wp++ = tolower ((unsigned char) codeset[cnt]); - else if (isdigit ((unsigned char) codeset[cnt])) + else if (__isdigit_l ((unsigned char) codeset[cnt], _nl_C_locobj_ptr)) *wp++ = codeset[cnt]; *wp = '\0'; -- 2.7.4