1 // Copyright 2016 The Fuchsia Authors
2 // Copyright 2002, Manuel J. Petit
3 // Copyright (c) 2008 Travis Geiselbrecht
4 //
5 // Use of this source code is governed by a MIT-style
6 // license that can be found in the LICENSE file or at
7 // https://opensource.org/licenses/MIT
8 
9 #include <string.h>
10 #include <sys/types.h>
11 
12 size_t
strlcpy(char * dst,char const * src,size_t s)13 strlcpy(char *dst, char const *src, size_t s)
14 {
15     size_t i= 0;
16 
17     if (!s) {
18         return strlen(src);
19     }
20 
21     for (i= 0; ((i< s-1) && src[i]); i++) {
22         dst[i]= src[i];
23     }
24 
25     dst[i]= 0;
26 
27     return i + strlen(src+i);
28 }
29