aboutsummaryrefslogtreecommitdiff
path: root/ft_strlcat.c
diff options
context:
space:
mode:
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);
+}