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 |