While strnicmp existed in the set of string support routines, stricmp didn't, which this patch adjusts. From: Jan Beulich --- 2.6.14/include/linux/string.h 2005-10-28 02:02:08.000000000 +0200 +++ 2.6.14-stricmp/include/linux/string.h 2005-11-04 16:19:34.000000000 +0100 @@ -47,6 +47,9 @@ extern int strcmp(const char *,const cha #ifndef __HAVE_ARCH_STRNCMP extern int strncmp(const char *,const char *,__kernel_size_t); #endif +#ifndef __HAVE_ARCH_STRICMP +extern int stricmp(const char *, const char *); +#endif #ifndef __HAVE_ARCH_STRNICMP extern int strnicmp(const char *, const char *, __kernel_size_t); #endif --- 2.6.14/lib/string.c 2005-10-28 02:02:08.000000000 +0200 +++ 2.6.14-stricmp/lib/string.c 2005-11-04 16:19:35.000000000 +0100 @@ -24,6 +24,31 @@ #include #include +#ifndef __HAVE_ARCH_STRICMP +/** + * stricmp - Compare two strings case-insensitively + * @s1: One string + * @s2: Another string + */ +int stricmp(const char *s1, const char *s2) +{ + unsigned char c1, c2; + + for (;;) { + c1 = *s1++; + c2 = *s2++; + if (!c1 || !c2) + break; + if (c1 == c2) + continue; + if ((c1 = tolower(c1)) != (c2 = tolower(c2))) + break; + } + return (int)c1 - (int)c2; +} +#endif +EXPORT_SYMBOL(stricmp); + #ifndef __HAVE_ARCH_STRNICMP /** * strnicmp - Case insensitive, length-limited string comparison