#include __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; }