From: Ben Kibbey Date: Sun, 16 Jan 2011 00:03:03 +0000 (-0500) Subject: Make safe_strncat() conform to strlcpy() usage by returning the length of X-Git-Tag: v2.3~1 X-Git-Url: https://repo.or.cz/w/userinfo.git/commitdiff_plain/7fb14425c936a483f10c2c5c697d7d43f1bb5e00 Make safe_strncat() conform to strlcpy() usage by returning the length of the destination and source strings. --- diff --git a/src/safe_strncat.c b/src/safe_strncat.c index 92173f7..8584e08 100644 --- a/src/safe_strncat.c +++ b/src/safe_strncat.c @@ -19,16 +19,17 @@ #include #endif +#include #include -char *safe_strncat(char *dst, const char *src, size_t n) +size_t safe_strncat(char *dst, const char *src, size_t n) { char *dp; const char *sp; size_t len; if (!n) - return dst; + return strlen(dst)+strlen(src)+1; for (dp = dst, len = 0; *dp; dp++, len++); @@ -36,5 +37,11 @@ char *safe_strncat(char *dst, const char *src, size_t n) *dp++ = *sp; *dp = 0; - return dst; + + if (*sp) { + while (*sp++) + len++; + } + + return len; }