1 /*
2  * strlcpy.c
3  */
4 
5 #include <string.h>
6 #include <klibc/compiler.h>
7 
strlcpy(char * dst,const char * src,size_t size)8 size_t strlcpy(char *dst, const char *src, size_t size)
9 {
10     size_t bytes = 0;
11     char *q = dst;
12     const char *p = src;
13     char ch;
14 
15     while ((ch = *p++)) {
16 	if (bytes < size)
17 	    *q++ = ch;
18 
19 	bytes++;
20     }
21 
22     *q = '\0';
23     return bytes;
24 }
25