Change for compiling as wcsncasecmp_l.
authordrepper <drepper>
Sat, 24 May 1997 02:22:19 +0000 (02:22 +0000)
committerdrepper <drepper>
Sat, 24 May 1997 02:22:19 +0000 (02:22 +0000)
wcsmbs/wcsncase.c

index c5b10c5..0f1dce2 100644 (file)
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <wchar.h>
 #include <wctype.h>
 
 #ifndef weak_alias
 # define __wcsncasecmp wcsncasecmp
+# define TOLOWER(Ch) towlower (Ch)
+#else
+# ifdef USE_IN_EXTENDED_LOCALE_MODEL
+#  define __wcsncasecmp __wcsncasecmp_l
+#  define TOLOWER(Ch) __towlower_l ((Ch), loc)
+# else
+#  define TOLOWER(Ch) towlower (Ch)
+# endif
+#endif
+
+#ifdef USE_IN_EXTENDED_LOCALE_MODEL
+# define LOCALE_PARAM , loc
+# define LOCALE_PARAM_DECL __locale_t loc;
+#else
+# define LOCALE_PARAM
+# define LOCALE_PARAM_DECL
 #endif
 
 /* Compare no more than N wide characters of S1 and S2,
    greater than zero if S1 is lexicographically less
    than, equal to or greater than S2.  */
 int
-__wcsncasecmp (s1, s2, n)
+__wcsncasecmp (s1, s2, n LOCALE_PARAM)
      const wchar_t *s1;
      const wchar_t *s2;
      size_t n;
+     LOCALE_PARAM_DECL
 {
   wint_t c1, c2;
 
@@ -42,14 +63,14 @@ __wcsncasecmp (s1, s2, n)
 
   do
     {
-      c1 = (wint_t) towlower (*s1++);
-      c2 = (wint_t) towlower (*s2++);
+      c1 = (wint_t) TOLOWER (*s1++);
+      c2 = (wint_t) TOLOWER (*s2++);
       if (c1 == L'\0' || c1 != c2)
        return c1 - c2;
     } while (--n > 0);
 
   return c1 - c2;
 }
-#ifdef weak_alias
+#ifndef __wcsncasecmp
 weak_alias (__wcsncasecmp, wcsncasecmp)
 #endif