[PATCH] Fix undefined reference to _nl_C_locobj_ptr
Andreas Schwab
schwab@redhat.com
Fri Aug 12 14:06:00 GMT 2011
2011-08-12 Andreas Schwab <schwab@redhat.com>
* intl/l10nflist.c (_nl_normalize_codeset): Fix last change.
---
intl/l10nflist.c | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/intl/l10nflist.c b/intl/l10nflist.c
index 82af263..b3a59e6 100644
--- a/intl/l10nflist.c
+++ b/intl/l10nflist.c
@@ -334,13 +334,20 @@ _nl_normalize_codeset (codeset, name_len)
char *retval;
char *wp;
size_t cnt;
+ locale_t locale;
+
+#if NOT_IN_libc
+ locale = newlocale (0, "C", NULL);
+#else
+ 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 (__isalpha_l ((unsigned char) codeset[cnt], locale))
only_digit = 0;
}
@@ -354,14 +361,18 @@ _nl_normalize_codeset (codeset, name_len)
wp = retval;
for (cnt = 0; cnt < name_len; ++cnt)
- if (__isalpha_l ((unsigned char) codeset[cnt], _nl_C_locobj_ptr))
+ if (__isalpha_l ((unsigned char) codeset[cnt], locale))
*wp++ = tolower ((unsigned char) codeset[cnt]);
- else if (__isdigit_l ((unsigned char) codeset[cnt], _nl_C_locobj_ptr))
+ else if (__isdigit_l ((unsigned char) codeset[cnt], locale))
*wp++ = codeset[cnt];
*wp = '\0';
}
+#if NOT_IN_libc
+ freelocale (locale);
+#endif
+
return (const char *) retval;
}
--
1.7.6
--
Andreas Schwab, schwab@redhat.com
GPG Key fingerprint = D4E8 DBE3 3813 BB5D FA84 5EC7 45C6 250E 6F00 984E
"And now for something completely different."
More information about the Libc-hacker
mailing list