diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-07-28 21:12:28 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-07-28 21:12:28 +0200 |
| commit | 5b653ccffdc33c8774697a93cad0b499b88dca71 (patch) | |
| tree | fef649e7cf39d62b7c0054ed17a00512e97d5a01 /ft_strlcat.c | |
| parent | 4367fc2192172a3c867e4e94327f131f41e4880e (diff) | |
| download | libft-5b653ccffdc33c8774697a93cad0b499b88dca71.tar.gz libft-5b653ccffdc33c8774697a93cad0b499b88dca71.tar.bz2 libft-5b653ccffdc33c8774697a93cad0b499b88dca71.zip | |
std library function almost done, tested with libft-unit-tests
Diffstat (limited to 'ft_strlcat.c')
| -rw-r--r-- | ft_strlcat.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/ft_strlcat.c b/ft_strlcat.c new file mode 100644 index 0000000..6c550f3 --- /dev/null +++ b/ft_strlcat.c @@ -0,0 +1,24 @@ +#include <string.h> +#include "libft.h" + +size_t ft_strlcat(char *dst, const char *src, size_t size) +{ + size_t i; + size_t dst_len; + size_t src_len; + + dst_len = ft_strlen(dst); + src_len = ft_strlen(src); + if (size == 0) + return (src_len); + i = dst_len; + while (i < size - 1) + { + dst[i] = src[i - dst_len]; + i++; + } + if (dst[size - 1] != '\0') + return (src_len + size); + dst[size - 1] = '\0'; + return (dst_len + src_len); +} |
