From 7fb14425c936a483f10c2c5c697d7d43f1bb5e00 Mon Sep 17 00:00:00 2001 From: Ben Kibbey Date: Sat, 15 Jan 2011 19:03:03 -0500 Subject: [PATCH] Make safe_strncat() conform to strlcpy() usage by returning the length of the destination and source strings. --- src/safe_strncat.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) 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; } -- 2.11.4.GIT