--- ray/src/common/strlcpy.c 2018/01/17 22:36:44 2.1 +++ ray/src/common/strlcpy.c 2019/11/07 23:19:12 2.3 @@ -1,32 +1,35 @@ #ifndef lint -static const char RCSid[] = "$Id: strlcpy.c,v 2.1 2018/01/17 22:36:44 greg Exp $"; +static const char RCSid[] = "$Id: strlcpy.c,v 2.3 2019/11/07 23:19:12 greg Exp $"; #endif /* * String copy routines similar to strncpy */ #include "copyright.h" +#include "rtio.h" -int -strlcpy(char *dst, const char *src, int siz) +size_t +strlcpy(char *dst, const char *src, size_t siz) { - int n = siz; + size_t n = siz; while (--n > 0) if (!(*dst++ = *src++)) return(siz-1-n); *dst = '\0'; + while (*src++) + ++siz; return(siz-1); } -int -strlcat(char *dst, const char *src, int siz) +size_t +strlcat(char *dst, const char *src, size_t siz) { - int n = siz; + size_t n = siz; while (*dst && --n > 0) ++dst; if (n <= 0) - return(siz); + return(siz+strlen(src)); return(siz-n + strlcpy(dst, src, n)); }