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)13strlcpy(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