diff options
Diffstat (limited to 'libft/src/ft_strlcpy.c')
-rw-r--r-- | libft/src/ft_strlcpy.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/libft/src/ft_strlcpy.c b/libft/src/ft_strlcpy.c new file mode 100644 index 0000000..bba4263 --- /dev/null +++ b/libft/src/ft_strlcpy.c @@ -0,0 +1,33 @@ +/* ************************************************************************** */ +/* LE - / */ +/* / */ +/* ft_strlcpy.c .:: .:/ . .:: */ +/* +:+:+ +: +: +:+:+ */ +/* By: rbousset <marvin@le-101.fr> +:+ +: +: +:+ */ +/* #+# #+ #+ #+# */ +/* Created: 2019/10/08 20:44:40 by rbousset #+# ## ## #+# */ +/* Updated: 2019/10/13 08:35:51 by rbousset ### #+. /#+ ###.fr */ +/* / */ +/* / */ +/* ************************************************************************** */ + +#include "libft.h" +#include <stddef.h> + +size_t + ft_strlcpy(char *dst, const char *src, size_t size) +{ + size_t src_len; + + if (!dst || !src) + return (0); + src_len = ft_strlen(src); + if (src_len + 1 < size) + ft_memcpy(dst, src, src_len + 1); + else if (size != 0) + { + ft_memcpy(dst, src, size - 1); + dst[size - 1] = 0; + } + return (src_len); +} |