diff options
author | Rudy Bousset <rbousset@z2r5p6.le-101.fr> | 2019-10-29 12:25:57 +0100 |
---|---|---|
committer | Rudy Bousset <rbousset@z2r5p6.le-101.fr> | 2019-10-29 12:25:57 +0100 |
commit | 507661351ca718c8a3d8213a0a80f994825fc881 (patch) | |
tree | eb9192a57e884e5bcf96f79d98cf7659924ce1df /libft/ft_memccpy.c | |
parent | Makefile complete (diff) | |
download | 42-minishell-507661351ca718c8a3d8213a0a80f994825fc881.tar.gz 42-minishell-507661351ca718c8a3d8213a0a80f994825fc881.tar.bz2 42-minishell-507661351ca718c8a3d8213a0a80f994825fc881.tar.xz 42-minishell-507661351ca718c8a3d8213a0a80f994825fc881.tar.zst 42-minishell-507661351ca718c8a3d8213a0a80f994825fc881.zip |
libft included
Diffstat (limited to 'libft/ft_memccpy.c')
-rw-r--r-- | libft/ft_memccpy.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/libft/ft_memccpy.c b/libft/ft_memccpy.c new file mode 100644 index 0000000..a029e7d --- /dev/null +++ b/libft/ft_memccpy.c @@ -0,0 +1,37 @@ +/* ************************************************************************** */ +/* LE - / */ +/* / */ +/* ft_memccpy.c .:: .:/ . .:: */ +/* +:+:+ +: +: +:+:+ */ +/* By: rbousset <marvin@le-101.fr> +:+ +: +: +:+ */ +/* #+# #+ #+ #+# */ +/* Created: 2019/10/08 14:59:46 by rbousset #+# ## ## #+# */ +/* Updated: 2019/10/13 08:40:44 by rbousset ### #+. /#+ ###.fr */ +/* / */ +/* / */ +/* ************************************************************************** */ + +#include <stddef.h> +#include <stdio.h> + +void + *ft_memccpy(void *dst, const void *src, int c, size_t n) +{ + unsigned char *dst_ptr; + const unsigned char *src_ptr; + + dst_ptr = (unsigned char*)dst; + src_ptr = (unsigned char*)src; + if (!*dst_ptr && !*src_ptr && n) + return (NULL); + if (n) + { + while (n) + { + if ((*dst_ptr++ = *src_ptr++) == (unsigned char)c) + return (dst_ptr); + n--; + } + } + return (NULL); +} |