BNX2X: disables TPA
[akaros.git] / kern / src / strstr.c
1 //INFERNO
2 #include <string.h>
3
4 /*
5  * Return pointer to first occurrence of s2 in s1,
6  * 0 if none
7  */
8 char *strstr(char *s1, char *s2)
9 {
10         char *p;
11         int f, n;
12
13         f = s2[0];
14         if (f == 0)
15                 return s1;
16         n = strlen(s2);
17         for (p = strchr(s1, f); p; p = strchr(p + 1, f))
18                 if (strncmp(p, s2, n) == 0)
19                         return p;
20         return 0;
21 }
22
23 /* Case insensitive strcmp */
24 int cistrcmp(char *s1, char *s2)
25 {
26         int c1, c2;
27
28         while (*s1) {
29                 c1 = *(uint8_t *) s1++;
30                 c2 = *(uint8_t *) s2++;
31
32                 if (c1 == c2)
33                         continue;
34
35                 if (c1 >= 'A' && c1 <= 'Z')
36                         c1 -= 'A' - 'a';
37
38                 if (c2 >= 'A' && c2 <= 'Z')
39                         c2 -= 'A' - 'a';
40
41                 if (c1 != c2)
42                         return c1 - c2;
43         }
44         return -*s2;
45 }