blob: 1274ba5537c23603f9849e2988c89f0c1822b832 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include "libft.h"
size_t
ft_strlcat (char *dst, const char *src, size_t size)
{
size_t dst_len;
size_t src_len;
size_t avail;
dst_len = ft_strlen (dst);
src_len = ft_strlen (src);
if (dst_len >= size)
return (size + src_len);
avail = size - dst_len - 1;
if (src_len < avail)
ft_memcpy (dst + dst_len, src, src_len + 1);
else
{
ft_memcpy (dst + dst_len, src, avail);
dst[size - 1] = '\0';
}
return (dst_len + src_len);
}
|