From 3b9fa9a790d4a87c01378bcdbc22b65512786dec Mon Sep 17 00:00:00 2001 From: Ben Kibbey Date: Sat, 6 Apr 2013 14:12:23 -0400 Subject: [PATCH] Revert "Cleaner safe_strncat()." This reverts commit 3f0914da760e154861e42178c776f975920fb40b. Brain fart. --- src/safe_strncat.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/safe_strncat.c b/src/safe_strncat.c index f26b4e2..8584e08 100644 --- a/src/safe_strncat.c +++ b/src/safe_strncat.c @@ -24,11 +24,24 @@ size_t safe_strncat(char *dst, const char *src, size_t n) { + char *dp; + const char *sp; size_t len; - char *p; - p = strncat (dst, src, n); - len = strlen (p); - p[len] = 0; + if (!n) + return strlen(dst)+strlen(src)+1; + + for (dp = dst, len = 0; *dp; dp++, len++); + + for (sp = src; *sp && len < n-1; len++, sp++) + *dp++ = *sp; + + *dp = 0; + + if (*sp) { + while (*sp++) + len++; + } + return len; } -- 2.11.4.GIT