oops, ascii_strncasecmp tried to compare one byte too far
[apps/madmutt.git] / lib-lib / str.c
index 39e6a90..f421530 100644 (file)
@@ -181,9 +181,9 @@ int ascii_strcasecmp(const char *a, const char *b)
     if (a == b)
         return 0;
     if (!a)
-        a = "";
+        return -1;
     if (!b)
-        b = "";
+        return 1;
 
     while (*a || *b) {
         int i;
@@ -206,11 +206,11 @@ int ascii_strncasecmp(const char *a, const char *b, ssize_t n)
     if (a == b)
         return 0;
     if (!a)
-        a = "";
+        return -1;
     if (!b)
-        b = "";
+        return 1;
 
-    while ((*a || *b) && n >= 0) {
+    while ((*a || *b) && n > 0) {
         int i;
         if ((i = ascii_tolower(*a++) - ascii_tolower(*b++)))
             return i;