[master] 4580b7d Hmm, as always git cheats me when I add files.
Poul-Henning Kamp
phk at varnish-cache.org
Mon Aug 19 15:53:26 CEST 2013
commit 4580b7deeab503af3e5a064a2e5cc218971dea87
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Mon Aug 19 13:53:06 2013 +0000
Hmm, as always git cheats me when I add files.
diff --git a/bin/varnishtest/tests/v00038.vtc b/bin/varnishtest/tests/v00038.vtc
index c155119..7de4517 100644
--- a/bin/varnishtest/tests/v00038.vtc
+++ b/bin/varnishtest/tests/v00038.vtc
@@ -1,4 +1,4 @@
-varnishtest "VCL compiler coverage test: vcc_backend.c
+varnishtest "VCL compiler coverage test: vcc_backend.c"
varnish v1 -errvcl "IPv6 address [] wrong" {
backend b1 {
@@ -59,7 +59,7 @@ varnish v1 -errvcl "NB: Backend Syntax has changed:" {
}
}
-varnish v1 -errvcl "Expected '{' or name of probe." {
+varnish v1 -errvcl "Expected '{' or name of probe, got" {
backend b1 {
.host = "127.0.0.1";
.probe = "NONE";
diff --git a/include/vss.h b/include/vss.h
index d98aa1d..af41057 100644
--- a/include/vss.h
+++ b/include/vss.h
@@ -29,7 +29,7 @@
/* vss.c */
struct vss_addr;
-int VSS_parse(const char *str, char **addr, char **port);
+const char *VSS_parse(const char *str, char **addr, char **port);
int VSS_resolve(const char *addr, const char *port, struct vss_addr ***ta);
int VSS_bind(const struct vss_addr *addr);
int VSS_listen(const struct vss_addr *addr, int depth);
diff --git a/lib/libvarnish/vss.c b/lib/libvarnish/vss.c
index bc0597a..2c1d8d6 100644
--- a/lib/libvarnish/vss.c
+++ b/lib/libvarnish/vss.c
@@ -71,7 +71,7 @@ struct vss_addr {
* See also RFC5952
*/
-int
+const char *
VSS_parse(const char *str, char **addr, char **port)
{
const char *p;
@@ -83,7 +83,7 @@ VSS_parse(const char *str, char **addr, char **port)
if ((p = strchr(str, ']')) == NULL ||
p == str + 1 ||
(p[1] != '\0' && p[1] != ':'))
- return (-1);
+ return ("IPv6 address [] wrong.");
*addr = strdup(str + 1);
XXXAN(*addr);
(*addr)[p - (str + 1)] = '\0';
@@ -109,7 +109,7 @@ VSS_parse(const char *str, char **addr, char **port)
XXXAN(*port);
}
}
- return (0);
+ return (NULL);
}
/*
@@ -143,8 +143,7 @@ VSS_resolve(const char *addr, const char *port, struct vss_addr ***vap)
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE;
- ret = VSS_parse(addr, &hop, &adp);
- if (ret)
+ if (VSS_parse(addr, &hop, &adp) != NULL)
return (0);
if (adp == NULL)
diff --git a/lib/libvcl/vcc_backend.c b/lib/libvcl/vcc_backend.c
index a8773d0..2cb3469 100644
--- a/lib/libvcl/vcc_backend.c
+++ b/lib/libvcl/vcc_backend.c
@@ -75,14 +75,15 @@ static void
Emit_Sockaddr(struct vcc *tl, const struct token *t_host, const char *port)
{
const char *ipv4, *ipv4a, *ipv6, *ipv6a, *pa;
+ const char *err;
char *hop, *pop;
AN(t_host->dec);
- if (VSS_parse(t_host->dec, &hop, &pop)) {
+ err = VSS_parse(t_host->dec, &hop, &pop);
+ if (err != NULL) {
VSB_printf(tl->sb,
- "Backend host '%.*s': wrong syntax (unbalanced [...] ?)\n",
- PF(t_host) );
+ "Backend host '%.*s': %s\n", PF(t_host), err);
vcc_ErrWhere(tl, t_host);
return;
}
@@ -416,7 +417,7 @@ vcc_ParseHostDef(struct vcc *tl, int serial, const char *vgcname)
SkipToken(tl, ';');
} else if (vcc_IdIs(t_field, "probe")) {
VSB_printf(tl->sb,
- "Expected '{' or name of probe.");
+ "Expected '{' or name of probe, got ");
vcc_ErrToken(tl, tl->t);
VSB_printf(tl->sb, " at\n");
vcc_ErrWhere(tl, tl->t);
More information about the varnish-commit
mailing list