diff options
author | Daniel Stenberg <daniel@haxx.se> | 2002-06-18 08:19:38 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2002-06-18 08:19:38 +0000 |
commit | d38ab690727f51ac9eb38631961184d5768cfcf5 (patch) | |
tree | 7f6ed34d87da5a3da6d72406417710e5592d296d /firmware/common/strcasecmp.c | |
parent | b1fe81d8c7deb6bf39a207e86f3fd383548bc78d (diff) | |
download | rockbox-d38ab690727f51ac9eb38631961184d5768cfcf5.tar.gz rockbox-d38ab690727f51ac9eb38631961184d5768cfcf5.zip |
case insensitive string comparisons
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1057 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/common/strcasecmp.c')
-rw-r--r-- | firmware/common/strcasecmp.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/firmware/common/strcasecmp.c b/firmware/common/strcasecmp.c new file mode 100644 index 0000000000..7bd0d61dd5 --- /dev/null +++ b/firmware/common/strcasecmp.c | |||
@@ -0,0 +1,28 @@ | |||
1 | |||
2 | #include <string.h> | ||
3 | #include <ctype.h> | ||
4 | |||
5 | int strcasecmp(const char *s1, const char *s2) | ||
6 | { | ||
7 | while (*s1 != '\0' && tolower(*s1) == tolower(*s2)) { | ||
8 | s1++; | ||
9 | s2++; | ||
10 | } | ||
11 | |||
12 | return tolower(*(unsigned char *) s1) - tolower(*(unsigned char *) s2); | ||
13 | } | ||
14 | |||
15 | int strncasecmp(const char *s1, const char *s2, size_t n) | ||
16 | { | ||
17 | if(!n) | ||
18 | return 0; | ||
19 | |||
20 | while (n-- != 0 && tolower(*s1) == tolower(*s2)) { | ||
21 | if(n == 0 || *s1 == '\0') | ||
22 | break; | ||
23 | s1++; | ||
24 | s2++; | ||
25 | } | ||
26 | |||
27 | return tolower(*(unsigned char *) s1) - tolower(*(unsigned char *) s2); | ||
28 | } | ||