Files
photon/libc/string/strcmp.c

26 lines
497 B
C
Raw Normal View History

#include <stddef.h>
2020-07-16 14:02:51 +01:00
int strcmp(const char *s1, const char *s2)
{
int i;
for (i = 0; s1[i] == s2[i]; i++) {
if (s1[i] == '\0') {
2020-07-16 14:02:51 +01:00
return 0;
}
}
2020-07-16 14:02:51 +01:00
return s1[i] - s2[i];
}
int strncmp(const char *s1, const char *s2, size_t n)
2020-07-16 14:02:51 +01:00
{
for (; n > 0; s1++, s2++, --n) {
if (*s1 != *s2) {
2020-07-16 14:02:51 +01:00
return ((*(unsigned char *)s1 < *(unsigned char *)s2) ? -1 : 1);
} else if (*s1 == '\0') {
2020-07-16 14:02:51 +01:00
return 0;
}
}
2020-07-16 14:02:51 +01:00
return 0;
}