• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <string.h>
2 #include "strlcat.h"
3 
strlcat(char * dst,const char * src,size_t size)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 }
25