BNX2X: spatch signed typedefs
[akaros.git] / kern / src / strstr.c
index 17d0c80..d34b028 100644 (file)
@@ -5,18 +5,41 @@
  * Return pointer to first occurrence of s2 in s1,
  * 0 if none
  */
-char*
-strstr(char *s1, char *s2)
+char *strstr(char *s1, char *s2)
 {
        char *p;
        int f, n;
 
        f = s2[0];
-       if(f == 0)
+       if (f == 0)
                return s1;
        n = strlen(s2);
-       for(p=strchr(s1, f); p; p=strchr(p+1, f))
-               if(strncmp(p, s2, n) == 0)
+       for (p = strchr(s1, f); p; p = strchr(p + 1, f))
+               if (strncmp(p, s2, n) == 0)
                        return p;
        return 0;
 }
+
+/* Case insensitive strcmp */
+int cistrcmp(char *s1, char *s2)
+{
+       int c1, c2;
+
+       while (*s1) {
+               c1 = *(uint8_t *) s1++;
+               c2 = *(uint8_t *) s2++;
+
+               if (c1 == c2)
+                       continue;
+
+               if (c1 >= 'A' && c1 <= 'Z')
+                       c1 -= 'A' - 'a';
+
+               if (c2 >= 'A' && c2 <= 'Z')
+                       c2 -= 'A' - 'a';
+
+               if (c1 != c2)
+                       return c1 - c2;
+       }
+       return -*s2;
+}