summary refs log tree commit diff
path: root/iconv/gconv_charset.h
diff options
context:
space:
mode:
Diffstat (limited to 'iconv/gconv_charset.h')
-rw-r--r--iconv/gconv_charset.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/iconv/gconv_charset.h b/iconv/gconv_charset.h
index 278bccc8d5..76a92a15ab 100644
--- a/iconv/gconv_charset.h
+++ b/iconv/gconv_charset.h
@@ -19,6 +19,7 @@
    02111-1307 USA.  */
 
 #include <ctype.h>
+#include <locale.h>
 
 
 static inline void
@@ -28,8 +29,9 @@ strip (char *wp, const char *s)
 
   while (*s != '\0')
     {
-      if (isalnum (*s) || *s == '_' || *s == '-' || *s == '.')
-	*wp++ = toupper (*s);
+      if (__isalnum_l (*s, &_nl_C_locobj)
+	  || *s == '_' || *s == '-' || *s == '.')
+	*wp++ = __toupper_l (*s, &_nl_C_locobj);
       else if (*s == '/')
 	{
 	  if (++slash_count == 3)
@@ -50,7 +52,7 @@ static char * __attribute__ ((unused))
 upstr (char *dst, const char *str)
 {
   char *cp = dst;
-  while ((*cp++ = toupper (*str++)) != '\0')
+  while ((*cp++ = __toupper_l (*str++, &_nl_C_locobj)) != '\0')
     /* nothing */;
   return dst;
 }