(Note: Patch also attached because the inline version is certain to get line wrapped.) While strnicmp existed in the set of string support routines, stricmp didn't, which this patch adjusts. Signed-off-by: Jan Beulich <[email protected]> diff -Npru 2.6.13/include/linux/string.h 2.6.13-stricmp/include/linux/string.h --- 2.6.13/include/linux/string.h 2005-08-29 01:41:01.000000000 +0200 +++ 2.6.13-stricmp/include/linux/string.h 2005-09-01 11:32:12.000000000 +0200 @@ -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 diff -Npru 2.6.13/lib/string.c 2.6.13-stricmp/lib/string.c --- 2.6.13/lib/string.c 2005-08-29 01:41:01.000000000 +0200 +++ 2.6.13-stricmp/lib/string.c 2005-09-01 11:32:13.000000000 +0200 @@ -24,6 +24,31 @@ #include <linux/ctype.h> #include <linux/module.h> +#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
Attachment:
linux-2.6.13-stricmp.patch
Description: Binary data
- Follow-Ups:
- Re: [PATCH] add stricmp
- From: Christoph Hellwig <[email protected]>
- Re: [PATCH] add stricmp
- Prev by Date: [PATCH] rmmod notifier chain
- Next by Date: Re: [-mm patch 2/5] SharpSL: Add cxx00 support to the Corgi LCD driver
- Previous by thread: [PATCH] rmmod notifier chain
- Next by thread: Re: [PATCH] add stricmp
- Index(es):