summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2002-06-18 08:19:38 +0000
committerDaniel Stenberg <daniel@haxx.se>2002-06-18 08:19:38 +0000
commitd38ab690727f51ac9eb38631961184d5768cfcf5 (patch)
tree7f6ed34d87da5a3da6d72406417710e5592d296d
parentb1fe81d8c7deb6bf39a207e86f3fd383548bc78d (diff)
downloadrockbox-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
-rw-r--r--firmware/common/strcasecmp.c28
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
5int 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
15int 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}