diff options
Diffstat (limited to 'libft/ft_memcmp.c')
-rw-r--r-- | libft/ft_memcmp.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/libft/ft_memcmp.c b/libft/ft_memcmp.c new file mode 100644 index 0000000..59a99bd --- /dev/null +++ b/libft/ft_memcmp.c @@ -0,0 +1,35 @@ +/* ************************************************************************** */ +/* LE - / */ +/* / */ +/* ft_memcmp.c .:: .:/ . .:: */ +/* +:+:+ +: +: +:+:+ */ +/* By: rbousset <marvin@le-101.fr> +:+ +: +: +:+ */ +/* #+# #+ #+ #+# */ +/* Created: 2019/10/08 19:23:43 by rbousset #+# ## ## #+# */ +/* Updated: 2019/10/13 08:40:10 by rbousset ### #+. /#+ ###.fr */ +/* / */ +/* / */ +/* ************************************************************************** */ + +#include <stddef.h> + +int + ft_memcmp(const void *s1, const void *s2, size_t n) +{ + const unsigned char *s1_ptr; + const unsigned char *s2_ptr; + + s1_ptr = (unsigned char*)s1; + s2_ptr = (unsigned char*)s2; + if (!s1 || !s2) + return (0); + while (n) + { + if (*s1_ptr != *s2_ptr) + return (*s1_ptr - *s2_ptr); + s1_ptr++; + s2_ptr++; + n--; + } + return (0); +} |