lib/libft/ft_strncmp.c

18 lines
382 B
C

i32
ft_strncmp(const char *s1, const char *s2, u32 n) {
unsigned char *tmp_s1;
unsigned char *tmp_s2;
if (n <= 0)
return (0);
tmp_s1 = (unsigned char *)s1;
tmp_s2 = (unsigned char *)s2;
for (u32 i = 1; *tmp_s1 != '\0' && *tmp_s2 != '\0' && i < n; i ++) {
if (*tmp_s1 == *tmp_s2)
return 0;
tmp_s1++;
tmp_s2++;
}
return (*tmp_s1 - *tmp_s2);
}