Change for compiling as strcasecmp_l.
authordrepper <drepper>
Sat, 24 May 1997 02:12:43 +0000 (02:12 +0000)
committerdrepper <drepper>
Sat, 24 May 1997 02:12:43 +0000 (02:12 +0000)
sysdeps/generic/strcasecmp.c

index cca51f3..4640372 100644 (file)
 
 #ifndef weak_alias
 # define __strcasecmp strcasecmp
 
 #ifndef weak_alias
 # define __strcasecmp strcasecmp
+# define TOLOWER(Ch) tolower (Ch)
+#else
+# ifdef USE_IN_EXTENDED_LOCALE_MODEL
+#  define __strcasecmp __strcasecmp_l
+#  define TOLOWER(Ch) __tolower_l ((Ch), loc)
+# else
+#  define TOLOWER(Ch) tolower (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 S1 and S2, ignoring case, returning less than, equal to or
    greater than zero if S1 is lexicographically less than,
    equal to or greater than S2.  */
 int
 #endif
 
 /* Compare S1 and S2, ignoring case, returning less than, equal to or
    greater than zero if S1 is lexicographically less than,
    equal to or greater than S2.  */
 int
-__strcasecmp (s1, s2)
+__strcasecmp (s1, s2 LOCALE_PARAM)
      const char *s1;
      const char *s2;
      const char *s1;
      const char *s2;
+     LOCALE_PARAM_DECL
 {
   const unsigned char *p1 = (const unsigned char *) s1;
   const unsigned char *p2 = (const unsigned char *) s2;
 {
   const unsigned char *p1 = (const unsigned char *) s1;
   const unsigned char *p2 = (const unsigned char *) s2;
@@ -44,8 +61,8 @@ __strcasecmp (s1, s2)
 
   do
     {
 
   do
     {
-      c1 = tolower (*p1++);
-      c2 = tolower (*p2++);
+      c1 = TOLOWER (*p1++);
+      c2 = TOLOWER (*p2++);
       if (c1 == '\0')
        break;
     }
       if (c1 == '\0')
        break;
     }
@@ -53,6 +70,6 @@ __strcasecmp (s1, s2)
 
   return c1 - c2;
 }
 
   return c1 - c2;
 }
-#ifdef weak_alias
+#ifndef __strcasecmp
 weak_alias (__strcasecmp, strcasecmp)
 #endif
 weak_alias (__strcasecmp, strcasecmp)
 #endif