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 strlcat(char * dst,char const * src,size_t s)13strlcat(char *dst, char const *src, size_t s) 14 { 15 size_t i; 16 size_t j= strnlen(dst, s); 17 18 if (!s) { 19 return j+strlen(src); 20 } 21 22 dst+= j; 23 24 for (i= 0; ((i< s-1) && src[i]); i++) { 25 dst[i]= src[i]; 26 } 27 28 dst[i]= 0; 29 30 return j + i + strlen(src+i); 31 } 32