diff options
| author | David S. Miller <davem@sunset.davemloft.net> | 2007-03-29 04:18:42 -0400 |
|---|---|---|
| committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 04:54:39 -0400 |
| commit | ded220bd8f0823771fc0a9bdf7f5bcbe543197b6 (patch) | |
| tree | 530854859821c51cb3bcd9092140c535153627e5 /lib | |
| parent | 357418e7cac16fed4ca558c6037d189d2109c9c2 (diff) | |
[STRING]: Move strcasecmp/strncasecmp to lib/string.c
We have several platforms using local copies of identical
code.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/string.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/string.c b/lib/string.c index bab440fb0dfc..5efafed3d6b6 100644 --- a/lib/string.c +++ b/lib/string.c | |||
| @@ -60,6 +60,34 @@ int strnicmp(const char *s1, const char *s2, size_t len) | |||
| 60 | EXPORT_SYMBOL(strnicmp); | 60 | EXPORT_SYMBOL(strnicmp); |
| 61 | #endif | 61 | #endif |
| 62 | 62 | ||
| 63 | #ifndef __HAVE_ARCH_STRCASECMP | ||
| 64 | int strcasecmp(const char *s1, const char *s2) | ||
| 65 | { | ||
| 66 | int c1, c2; | ||
| 67 | |||
| 68 | do { | ||
| 69 | c1 = tolower(*s1++); | ||
| 70 | c2 = tolower(*s2++); | ||
| 71 | } while (c1 == c2 && c1 != 0); | ||
| 72 | return c1 - c2; | ||
| 73 | } | ||
| 74 | EXPORT_SYMBOL(strcasecmp); | ||
| 75 | #endif | ||
| 76 | |||
| 77 | #ifndef __HAVE_ARCH_STRNCASECMP | ||
| 78 | int strncasecmp(const char *s1, const char *s2, size_t n) | ||
| 79 | { | ||
| 80 | int c1, c2; | ||
| 81 | |||
| 82 | do { | ||
| 83 | c1 = tolower(*s1++); | ||
| 84 | c2 = tolower(*s2++); | ||
| 85 | } while ((--n > 0) && c1 == c2 && c1 != 0); | ||
| 86 | return c1 - c2; | ||
| 87 | } | ||
| 88 | EXPORT_SYMBOL(strncasecmp); | ||
| 89 | #endif | ||
| 90 | |||
| 63 | #ifndef __HAVE_ARCH_STRCPY | 91 | #ifndef __HAVE_ARCH_STRCPY |
| 64 | /** | 92 | /** |
| 65 | * strcpy - Copy a %NUL terminated string | 93 | * strcpy - Copy a %NUL terminated string |
