]> err.no Git - varnish/commitdiff
Clean up FlexeLint fluff.
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Thu, 5 Jul 2007 21:08:15 +0000 (21:08 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Thu, 5 Jul 2007 21:08:15 +0000 (21:08 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1657 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/lib/libvcl/syntax.txt
varnish-cache/lib/libvcl/vcc_acl.c
varnish-cache/lib/libvcl/vcc_action.c
varnish-cache/lib/libvcl/vcc_compile.c
varnish-cache/lib/libvcl/vcc_compile.h
varnish-cache/lib/libvcl/vcc_gen_obj.tcl
varnish-cache/lib/libvcl/vcc_obj.c
varnish-cache/lib/libvcl/vcc_var.c
varnish-cache/lib/libvcl/vcc_xref.c

index 0d1502f499aeaaec2a48755cd3fb92f29df4e5ba..19ea8b64320b3e513b2164ef1db7118b8af7214f 100644 (file)
@@ -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
index b8824764f350456a7eb6d1558ef23cb15edb3544..0f14f7fa388d6b85da1821a4a4266e81af243139 100644 (file)
  */
 
 #include <stdio.h>
-#include <assert.h>
 #include <stdlib.h>
 
 #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;
index 57efb55b27a48f758f3d6a4955301ca82278c52f..55144a05037beff303853aec54a858e6fe5f34ab 100644 (file)
@@ -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;
index e2daa6139342e524ef516da9fb803bd781d47290..f675afe2375cf0f545d40d66e9b3867408872ddb 100644 (file)
@@ -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}
 };
 
 /*--------------------------------------------------------------------*/
index f51fd706cac535353b2c3ffde7f8607b2fc3e0ea..762dd4b61ffa1ad2ea18d65f78ce6e3fcd76e9f9 100644 (file)
@@ -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);
index 6ccfe0825b349fd48f5fa0bc03ddcf957be0ecc2..de0cda3aa333af5afd3726d7d6bb2079006dba88 100755 (executable)
@@ -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\},"
 
index bb11ecf530891351afdf42ebde62b9435820cb70..fea9cbe829a4acddc37715e89a5e501cba3dcc5e 100644 (file)
@@ -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,
index c191af1119b1c37c2a187daaccfd6a70aed11176..53a549a4ea25c973d1b14166587992ce21248784 100644 (file)
@@ -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;
index 9729cbf266f430559c2c6a69f00c9f52d4c5fb96..83821bf1610a988bfea9b896c60a7df03e26c70a 100644 (file)
@@ -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;