[master] 8f389e5 Eliminate strndup() from here, strdup() is just fine.
Poul-Henning Kamp
phk at varnish-cache.org
Thu May 12 14:19:18 CEST 2011
commit 8f389e554f1b41c4788c018d2ac874c91a8379f2
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Thu May 12 12:16:26 2011 +0000
Eliminate strndup() from here, strdup() is just fine.
diff --git a/lib/libvarnish/vss.c b/lib/libvarnish/vss.c
index 18ac41d..43f3e4a 100644
--- a/lib/libvarnish/vss.c
+++ b/lib/libvarnish/vss.c
@@ -43,10 +43,6 @@
#include <string.h>
#include <unistd.h>
-#ifndef HAVE_STRNDUP
-#include "compat/strndup.h"
-#endif
-
#include "libvarnish.h"
#include "vss.h"
@@ -87,8 +83,9 @@ VSS_parse(const char *str, char **addr, char **port)
p == str + 1 ||
(p[1] != '\0' && p[1] != ':'))
return (-1);
- *addr = strndup(str + 1, p - (str + 1));
+ *addr = strdup(str + 1);
XXXAN(*addr);
+ (*addr)[p - (str + 1)] = '\0';
if (p[1] == ':') {
*port = strdup(p + 2);
XXXAN(*port);
@@ -103,8 +100,9 @@ VSS_parse(const char *str, char **addr, char **port)
XXXAN(*addr);
} else {
if (p > str) {
- *addr = strndup(str, p - str);
+ *addr = strdup(str);
XXXAN(*addr);
+ (*addr)[p - str] = '\0';
}
*port = strdup(p + 1);
XXXAN(*port);
More information about the varnish-commit
mailing list