]> err.no Git - varnish/commitdiff
Slight optimization: use strlcpy() to avoid calloc().
authordes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 22 Aug 2006 09:31:34 +0000 (09:31 +0000)
committerdes <des@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 22 Aug 2006 09:31:34 +0000 (09:31 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@891 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/lib/libcompat/strndup.c

index a88493afd9287d2888ea96d42695efbf714234ec..0f7b36f21039221649945eceb1d6fea2e137ad76 100644 (file)
@@ -8,6 +8,10 @@
 #include <stdlib.h>
 #include <string.h>
 
+#ifndef HAVE_STRLCPY
+#include "compat/strlcpy.h"
+#endif
+
 #include "compat/strndup.h"
 
 char *
@@ -16,8 +20,8 @@ strndup(const char *str, size_t len)
        char *dup;
 
        /* wasteful if len is large and str is short */
-       if ((dup = calloc(len + 1, 1)) != NULL)
-               strncpy(dup, str, len);
+       if ((dup = malloc(len + 1)) != NULL)
+               strlcpy(dup, str, len + 1);
        return (dup);
 }