Merge git://git.kernel.dk/fio into steady-state
[fio.git] / oslib / strlcat.c
1 #include <string.h>
2 #include "oslib/strlcat.h"
3
4 size_t strlcat(char *dst, const char *src, size_t size)
5 {
6         size_t dstlen;
7         size_t srclen;
8
9         dstlen = strlen(dst);
10         size -= dstlen + 1;
11
12         /* return if no room */
13         if (!size)
14                 return dstlen;
15
16         srclen = strlen(src);
17         if (srclen > size)
18                 srclen = size;
19
20         memcpy(dst + dstlen, src, srclen);
21         dst[dstlen + srclen] = '\0';
22
23         return dstlen + srclen;
24 }