123456789101112131415161718192021222324252627282930 |
- #include <string.h>
- __attribute__((used))
- int strcasecmp(const char *s1, const char *s2)
- {
- while (*s1 == *s2 || (*s1 ^ 0x20) == *s2) {
- if (!*s1)
- return 0;
- ++s1;
- ++s2;
- }
- return *(unsigned char *)s1 - *(unsigned char *)s2;
- }
- __attribute__((used))
- int strncasecmp(const char *s1, const char *s2, size_t n)
- {
- while ((*s1 == *s2 || (*s1 ^ 0x20) == *s2) && --n) {
- if (!*s1)
- return 0;
- ++s1;
- ++s2;
- }
- return *(unsigned char *)s1 - *(unsigned char *)s2;
- }
|