summaryrefslogtreecommitdiffstats
path: root/firmware
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 /firmware
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
Diffstat (limited to 'firmware')
-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 @@
+
+#include <string.h>
+#include <ctype.h>
+
+int strcasecmp(const char *s1, const char *s2)
+{
+ while (*s1 != '\0' && tolower(*s1) == tolower(*s2)) {
+ s1++;
+ s2++;
+ }
+
+ return tolower(*(unsigned char *) s1) - tolower(*(unsigned char *) s2);
+}
+
+int strncasecmp(const char *s1, const char *s2, size_t n)
+{
+ if(!n)
+ return 0;
+
+ while (n-- != 0 && tolower(*s1) == tolower(*s2)) {
+ if(n == 0 || *s1 == '\0')
+ break;
+ s1++;
+ s2++;
+ }
+
+ return tolower(*(unsigned char *) s1) - tolower(*(unsigned char *) s2);
+}