output_buffer: only realloc once, and memset just what we need
[fio.git] / lib / strlcat.c
CommitLineData
5ad7be56
KD
1#include <string.h>
2
3size_t strlcat(char *dst, const char *src, size_t size)
4{
5 size_t dstlen;
6 size_t srclen;
7
8 dstlen = strlen(dst);
9 size -= dstlen + 1;
10
11 /* return if no room */
12 if (!size)
13 return dstlen;
14
15 srclen = strlen(src);
16 if (srclen > size)
17 srclen = size;
18
19 memcpy(dst + dstlen, src, srclen);
20 dst[dstlen + srclen] = '\0';
21
22 return dstlen + srclen;
23}