From d5d5b11605e1e30e4f0970ec70988a0bec70105d Mon Sep 17 00:00:00 2001 From: phk Date: Thu, 5 Jul 2007 21:08:15 +0000 Subject: [PATCH] Clean up FlexeLint fluff. git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1657 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- varnish-cache/lib/libvcl/syntax.txt | 2 ++ varnish-cache/lib/libvcl/vcc_acl.c | 4 ++-- varnish-cache/lib/libvcl/vcc_action.c | 15 +++++++-------- varnish-cache/lib/libvcl/vcc_compile.c | 2 +- varnish-cache/lib/libvcl/vcc_compile.h | 4 ++-- varnish-cache/lib/libvcl/vcc_gen_obj.tcl | 19 +++++++++++++++---- varnish-cache/lib/libvcl/vcc_obj.c | 14 +++++++------- varnish-cache/lib/libvcl/vcc_var.c | 18 ++++-------------- varnish-cache/lib/libvcl/vcc_xref.c | 4 ++-- 9 files changed, 42 insertions(+), 40 deletions(-) diff --git a/varnish-cache/lib/libvcl/syntax.txt b/varnish-cache/lib/libvcl/syntax.txt index 0d1502f4..19ea8b64 100644 --- a/varnish-cache/lib/libvcl/syntax.txt +++ b/varnish-cache/lib/libvcl/syntax.txt @@ -128,6 +128,7 @@ action: 'call' ident ';' 'rewrite' cstr cstr ';' 'set' assignment ';' + 'remove' variable ';' # see variable 'returns' in vcc_gen_fixed_token.tcl return_action: @@ -162,6 +163,7 @@ assign_int: '-=' cnum '=' cnum + ratio: '*=' double '/=' double diff --git a/varnish-cache/lib/libvcl/vcc_acl.c b/varnish-cache/lib/libvcl/vcc_acl.c index b8824764..0f14f7fa 100644 --- a/varnish-cache/lib/libvcl/vcc_acl.c +++ b/varnish-cache/lib/libvcl/vcc_acl.c @@ -30,13 +30,13 @@ */ #include -#include #include #include "vsb.h" #include "vcc_priv.h" #include "vcc_compile.h" +#include "libvarnish.h" static void vcc_acl_top(struct tokenlist *tl, const char *acln) @@ -108,7 +108,7 @@ vcc_acl_bot(struct tokenlist *tl, const char *acln) } void -vcc_Cond_Ip(struct var *vp, struct tokenlist *tl) +vcc_Cond_Ip(const struct var *vp, struct tokenlist *tl) { unsigned tcond; char *acln; diff --git a/varnish-cache/lib/libvcl/vcc_action.c b/varnish-cache/lib/libvcl/vcc_action.c index 57efb55b..55144a05 100644 --- a/varnish-cache/lib/libvcl/vcc_action.c +++ b/varnish-cache/lib/libvcl/vcc_action.c @@ -94,7 +94,7 @@ parse_error(struct tokenlist *tl) /*--------------------------------------------------------------------*/ static void -illegal_assignment(struct tokenlist *tl, const char *type) +illegal_assignment(const struct tokenlist *tl, const char *type) { vsb_printf(tl->sb, "Invalid assignment operator "); @@ -104,7 +104,7 @@ illegal_assignment(struct tokenlist *tl, const char *type) } static void -check_writebit(struct tokenlist *tl, struct var *vp) +check_writebit(struct tokenlist *tl, const struct var *vp) { if (vp->access == V_RW || vp->access == V_WO) @@ -195,13 +195,12 @@ parse_set(struct tokenlist *tl) vcc_NextToken(tl); Fb(tl, 0, ");\n"); break; - return; case HASH: ExpectErr(tl, T_INCR); vcc_NextToken(tl); vcc_StringVal(tl); Fb(tl, 0, ");\n"); - return; + break; case STRING: if (tl->t->tok != '=') { illegal_assignment(tl, "strings"); @@ -209,7 +208,7 @@ parse_set(struct tokenlist *tl) } vcc_NextToken(tl); vcc_StringVal(tl); - if (vp->ishdr) { + if (vp->hdr != NULL) { while (tl->t->tok != ';') { Fb(tl, 0, ", "); vcc_StringVal(tl); @@ -232,13 +231,13 @@ static void parse_remove(struct tokenlist *tl) { struct var *vp; - struct token *vt; vcc_NextToken(tl); ExpectErr(tl, VAR); - vt = tl->t; vp = vcc_FindVar(tl, tl->t, vcc_vars); - if (vp->fmt != STRING || !vp->ishdr) { + ERRCHK(tl); + assert(vp != NULL); + if (vp->fmt != STRING || vp->hdr == NULL) { vsb_printf(tl->sb, "Only http header lines can be removed.\n"); vcc_ErrWhere(tl, tl->t); return; diff --git a/varnish-cache/lib/libvcl/vcc_compile.c b/varnish-cache/lib/libvcl/vcc_compile.c index e2daa613..f675afe2 100644 --- a/varnish-cache/lib/libvcl/vcc_compile.c +++ b/varnish-cache/lib/libvcl/vcc_compile.c @@ -86,7 +86,7 @@ struct method method_tab[] = { #include "vcl_returns.h" #undef VCL_MET_MAC #undef VCL_RET_MAC - { NULL, 0U } + { NULL, 0U, 0} }; /*--------------------------------------------------------------------*/ diff --git a/varnish-cache/lib/libvcl/vcc_compile.h b/varnish-cache/lib/libvcl/vcc_compile.h index f51fd706..762dd4b6 100644 --- a/varnish-cache/lib/libvcl/vcc_compile.h +++ b/varnish-cache/lib/libvcl/vcc_compile.h @@ -121,7 +121,7 @@ struct var { const char *rname; const char *lname; enum {V_RO, V_RW, V_WO} access; - char ishdr; + const char *hdr; unsigned methods; }; @@ -136,7 +136,7 @@ struct method { /* vcc_acl.c */ void vcc_Acl(struct tokenlist *tl); -void vcc_Cond_Ip(struct var *vp, struct tokenlist *tl); +void vcc_Cond_Ip(const struct var *vp, struct tokenlist *tl); /* vcc_action.c */ void vcc_ParseAction(struct tokenlist *tl); diff --git a/varnish-cache/lib/libvcl/vcc_gen_obj.tcl b/varnish-cache/lib/libvcl/vcc_gen_obj.tcl index 6ccfe082..de0cda3a 100755 --- a/varnish-cache/lib/libvcl/vcc_gen_obj.tcl +++ b/varnish-cache/lib/libvcl/vcc_gen_obj.tcl @@ -32,9 +32,9 @@ # Objects available in backends set beobj { - { backend.host WO HOSTNAME } - { backend.port WO PORTNAME } - { backend.dnsttl WO TIME } + { backend.host WO HOSTNAME {} } + { backend.port WO PORTNAME {} } + { backend.dnsttl WO TIME {} } } # Variables available in sessions @@ -70,6 +70,7 @@ set spobj { { req.http. RW HEADER {recv pipe pass hash miss hit fetch } + HDR_REQ } # Possibly misnamed, not really part of the request @@ -98,6 +99,7 @@ set spobj { { bereq.http. RW HEADER { pipe pass miss } + HDR_BEREQ } # The (possibly) cached object @@ -116,6 +118,7 @@ set spobj { { obj.http. RW HEADER { hit fetch } + HDR_OBJ } { obj.valid @@ -151,6 +154,7 @@ set spobj { { resp.http. RW HEADER { deliver } + HDR_RESP } # Miscellaneous @@ -200,6 +204,9 @@ proc method_map {m} { append l " | " append l VCL_MET_[string toupper $i] } + if {$l == ""} { + return "0" + } return [string range $l 3 end] } @@ -231,7 +238,11 @@ proc vars {v ty pa} { puts $fo "\t NULL," } puts $fo "\t V_$a," - puts $fo "\t 0," + if {$t != "HEADER"} { + puts $fo "\t 0," + } else { + puts $fo "\t \"[lindex $v 4]\"," + } puts $fo "\t [method_map [lindex $v 3]]" puts $fo "\t\}," diff --git a/varnish-cache/lib/libvcl/vcc_obj.c b/varnish-cache/lib/libvcl/vcc_obj.c index bb11ecf5..fea9cbe8 100644 --- a/varnish-cache/lib/libvcl/vcc_obj.c +++ b/varnish-cache/lib/libvcl/vcc_obj.c @@ -15,21 +15,21 @@ struct var vcc_be_vars[] = { "VRT_l_backend_host(backend, ", V_WO, 0, - + 0 }, { "backend.port", PORTNAME, 12, NULL, "VRT_l_backend_port(backend, ", V_WO, 0, - + 0 }, { "backend.dnsttl", TIME, 14, NULL, "VRT_l_backend_dnsttl(backend, ", V_WO, 0, - + 0 }, { NULL } }; @@ -74,7 +74,7 @@ struct var vcc_vars[] = { "VRT_r_req_http_(sp)", "VRT_l_req_http_(sp, ", V_RW, - 0, + "HDR_REQ", VCL_MET_RECV | VCL_MET_PIPE | VCL_MET_PASS | VCL_MET_HASH | VCL_MET_MISS | VCL_MET_HIT | VCL_MET_FETCH }, { "req.hash", HASH, 8, @@ -116,7 +116,7 @@ struct var vcc_vars[] = { "VRT_r_bereq_http_(sp)", "VRT_l_bereq_http_(sp, ", V_RW, - 0, + "HDR_BEREQ", VCL_MET_PIPE | VCL_MET_PASS | VCL_MET_MISS }, { "obj.proto", STRING, 9, @@ -144,7 +144,7 @@ struct var vcc_vars[] = { "VRT_r_obj_http_(sp)", "VRT_l_obj_http_(sp, ", V_RW, - 0, + "HDR_OBJ", VCL_MET_HIT | VCL_MET_FETCH }, { "obj.valid", BOOL, 9, @@ -200,7 +200,7 @@ struct var vcc_vars[] = { "VRT_r_resp_http_(sp)", "VRT_l_resp_http_(sp, ", V_RW, - 0, + "HDR_RESP", VCL_MET_DELIVER }, { "now", TIME, 3, diff --git a/varnish-cache/lib/libvcl/vcc_var.c b/varnish-cache/lib/libvcl/vcc_var.c index c191af11..53a549a4 100644 --- a/varnish-cache/lib/libvcl/vcc_var.c +++ b/varnish-cache/lib/libvcl/vcc_var.c @@ -57,6 +57,7 @@ vcc_StringVal(struct tokenlist *tl) ERRCHK(tl); vp = vcc_FindVar(tl, tl->t, vcc_vars); ERRCHK(tl); + assert(vp != NULL); switch (vp->fmt) { case STRING: Fb(tl, 0, "%s", vp->rname); @@ -77,7 +78,6 @@ static struct var * HeaderVar(struct tokenlist *tl, const struct token *t, const struct var *vh) { char *p; - const char *wh; struct var *v; int i; @@ -93,23 +93,13 @@ HeaderVar(struct tokenlist *tl, const struct token *t, const struct var *vh) v->name = p; v->access = V_RW; v->fmt = STRING; - v->ishdr = 1; + v->hdr = vh->hdr; v->methods = vh->methods; - if (!memcmp(vh->name, "req.", 4)) - wh = "HDR_REQ"; - else if (!memcmp(vh->name, "resp.", 5)) - wh = "HDR_RESP"; - else if (!memcmp(vh->name, "obj.", 4)) - wh = "HDR_OBJ"; - else if (!memcmp(vh->name, "bereq.", 6)) - wh = "HDR_BEREQ"; - else - assert(0 == 1); - asprintf(&p, "VRT_GetHdr(sp, %s, \"\\%03o%s:\")", wh, + asprintf(&p, "VRT_GetHdr(sp, %s, \"\\%03o%s:\")", v->hdr, (unsigned)(strlen(v->name + vh->len) + 1), v->name + vh->len); AN(p); v->rname = p; - asprintf(&p, "VRT_SetHdr(sp, %s, \"\\%03o%s:\", ", wh, + asprintf(&p, "VRT_SetHdr(sp, %s, \"\\%03o%s:\", ", v->hdr, (unsigned)(strlen(v->name + vh->len) + 1), v->name + vh->len); AN(p); v->lname = p; diff --git a/varnish-cache/lib/libvcl/vcc_xref.c b/varnish-cache/lib/libvcl/vcc_xref.c index 9729cbf2..83821bf1 100644 --- a/varnish-cache/lib/libvcl/vcc_xref.c +++ b/varnish-cache/lib/libvcl/vcc_xref.c @@ -328,7 +328,7 @@ vcc_CheckAction(struct tokenlist *tl) } static struct procuse * -vcc_FindIllegalUse(struct proc *p, struct method *m) +vcc_FindIllegalUse(const struct proc *p, const struct method *m) { struct procuse *pu; @@ -339,7 +339,7 @@ vcc_FindIllegalUse(struct proc *p, struct method *m) } static int -vcc_CheckUseRecurse(struct tokenlist *tl, struct proc *p, struct method *m) +vcc_CheckUseRecurse(struct tokenlist *tl, const struct proc *p, struct method *m) { struct proccall *pc; struct procuse *pu; -- 2.39.5