blob: 751f16160542657d5d710940dc8846fb3293af04 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <string.h> // for size_t, strlen, memcpy, strlcat
size_t strlcat(char *restrict dst, const char *restrict src, size_t dstsize)
{
size_t dlen = strlen(dst);
size_t slen = strlen(src);
size_t n = dstsize - dlen - 1;
if (n == 0)
return dlen + slen;
if (n > slen)
n = slen;
memcpy(dst + dlen, src, n);
dst[dlen + n] = '\0';
return dlen + n;
}
|