Cleaner safe_strncat().
authorBen Kibbey <bjk@luxsci.net>
Sat, 6 Apr 2013 13:16:35 +0000 (6 09:16 -0400)
committerBen Kibbey <bjk@luxsci.net>
Sat, 6 Apr 2013 13:16:35 +0000 (6 09:16 -0400)
src/safe_strncat.c

index 8584e08..f26b4e2 100644 (file)
 
 size_t safe_strncat(char *dst, const char *src, size_t n)
 {
-    char *dp;
-    const char *sp;
     size_t len;
+    char *p;
 
-    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++;
-    }
-
+    p = strncat (dst, src, n);
+    len = strlen (p);
+    p[len] = 0;
     return len;
 }