|
@@ -27,14 +27,14 @@
|
|
|
#include <linux/bug.h>
|
|
|
#include <linux/errno.h>
|
|
|
|
|
|
-#ifndef __HAVE_ARCH_STRNICMP
|
|
|
+#ifndef __HAVE_ARCH_STRNCASECMP
|
|
|
/**
|
|
|
- * strnicmp - Case insensitive, length-limited string comparison
|
|
|
+ * strncasecmp - Case insensitive, length-limited string comparison
|
|
|
* @s1: One string
|
|
|
* @s2: The other string
|
|
|
* @len: the maximum number of characters to compare
|
|
|
*/
|
|
|
-int strnicmp(const char *s1, const char *s2, size_t len)
|
|
|
+int strncasecmp(const char *s1, const char *s2, size_t len)
|
|
|
{
|
|
|
/* Yes, Virginia, it had better be unsigned */
|
|
|
unsigned char c1, c2;
|
|
@@ -56,6 +56,13 @@ int strnicmp(const char *s1, const char *s2, size_t len)
|
|
|
} while (--len);
|
|
|
return (int)c1 - (int)c2;
|
|
|
}
|
|
|
+EXPORT_SYMBOL(strncasecmp);
|
|
|
+#endif
|
|
|
+#ifndef __HAVE_ARCH_STRNICMP
|
|
|
+int strnicmp(const char *s1, const char *s2, size_t len)
|
|
|
+{
|
|
|
+ return strncasecmp(s1, s2, len);
|
|
|
+}
|
|
|
EXPORT_SYMBOL(strnicmp);
|
|
|
#endif
|
|
|
|
|
@@ -73,20 +80,6 @@ int strcasecmp(const char *s1, const char *s2)
|
|
|
EXPORT_SYMBOL(strcasecmp);
|
|
|
#endif
|
|
|
|
|
|
-#ifndef __HAVE_ARCH_STRNCASECMP
|
|
|
-int strncasecmp(const char *s1, const char *s2, size_t n)
|
|
|
-{
|
|
|
- int c1, c2;
|
|
|
-
|
|
|
- do {
|
|
|
- c1 = tolower(*s1++);
|
|
|
- c2 = tolower(*s2++);
|
|
|
- } while ((--n > 0) && c1 == c2 && c1 != 0);
|
|
|
- return c1 - c2;
|
|
|
-}
|
|
|
-EXPORT_SYMBOL(strncasecmp);
|
|
|
-#endif
|
|
|
-
|
|
|
#ifndef __HAVE_ARCH_STRCPY
|
|
|
/**
|
|
|
* strcpy - Copy a %NUL terminated string
|