aboutsummaryrefslogtreecommitdiff
path: root/ft_strlcat.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-07-28 21:12:28 +0200
committerCharles <sircharlesaze@gmail.com>2019-07-28 21:12:28 +0200
commit5b653ccffdc33c8774697a93cad0b499b88dca71 (patch)
treefef649e7cf39d62b7c0054ed17a00512e97d5a01 /ft_strlcat.c
parent4367fc2192172a3c867e4e94327f131f41e4880e (diff)
downloadlibft-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.c24
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);
+}