Commit 4580b7de authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Hmm, as always git cheats me when I add files.

parent 0e507635
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";
......
......@@ -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);
......
......@@ -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)
......
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment