ft_strncmp: add unsigned char cmp

This commit is contained in:
Tanguy MAZE 2018-04-08 14:08:25 +02:00
parent c45ca641c4
commit 3151f1574a

View File

@ -6,7 +6,7 @@
/* By: tmaze <marvin@42.fr> +#+ +:+ +#+ */ /* By: tmaze <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2018/04/05 13:04:21 by tmaze #+# #+# */ /* Created: 2018/04/05 13:04:21 by tmaze #+# #+# */
/* Updated: 2018/04/05 13:15:51 by tmaze ### ########.fr */ /* Updated: 2018/04/08 14:05:37 by tmaze ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -18,10 +18,13 @@ int ft_strncmp(const char *s1, const char *s2, size_t n)
int diff; int diff;
i = 1; i = 1;
diff = s1[0] - s2[0]; diff = 0;
while ((unsigned int)i < n && diff == 0 && s1[i - 1] && s2[i - 1]) if (n > 0)
diff = (unsigned char)s1[0] - (unsigned char)s2[0];
while ((unsigned int)i < n && diff == 0 && (unsigned char)s1[i - 1] &&\
(unsigned char)s2[i - 1])
{ {
diff = s1[i] - s2[i]; diff = (unsigned char)s1[i] - (unsigned char)s2[i];
i++; i++;
} }
return (diff); return (diff);