Mailing List Archive

r1657 - trunk/varnish-cache/lib/libvcl
Author: phk
Date: 2007-07-05 23:08:15 +0200 (Thu, 05 Jul 2007)
New Revision: 1657

Modified:
trunk/varnish-cache/lib/libvcl/syntax.txt
trunk/varnish-cache/lib/libvcl/vcc_acl.c
trunk/varnish-cache/lib/libvcl/vcc_action.c
trunk/varnish-cache/lib/libvcl/vcc_compile.c
trunk/varnish-cache/lib/libvcl/vcc_compile.h
trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl
trunk/varnish-cache/lib/libvcl/vcc_obj.c
trunk/varnish-cache/lib/libvcl/vcc_var.c
trunk/varnish-cache/lib/libvcl/vcc_xref.c
Log:
Clean up FlexeLint fluff.


Modified: trunk/varnish-cache/lib/libvcl/syntax.txt
===================================================================
--- trunk/varnish-cache/lib/libvcl/syntax.txt 2007-07-05 16:11:13 UTC (rev 1656)
+++ trunk/varnish-cache/lib/libvcl/syntax.txt 2007-07-05 21:08:15 UTC (rev 1657)
@@ -128,6 +128,7 @@
'call' ident ';'
'rewrite' cstr cstr ';'
'set' assignment ';'
+ 'remove' variable ';'

# see variable 'returns' in vcc_gen_fixed_token.tcl
return_action:
@@ -162,6 +163,7 @@
'-=' cnum
'=' cnum

+
ratio:
'*=' double
'/=' double

Modified: trunk/varnish-cache/lib/libvcl/vcc_acl.c
===================================================================
--- trunk/varnish-cache/lib/libvcl/vcc_acl.c 2007-07-05 16:11:13 UTC (rev 1656)
+++ trunk/varnish-cache/lib/libvcl/vcc_acl.c 2007-07-05 21:08:15 UTC (rev 1657)
@@ -30,13 +30,13 @@
*/

#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 @@
}

void
-vcc_Cond_Ip(struct var *vp, struct tokenlist *tl)
+vcc_Cond_Ip(const struct var *vp, struct tokenlist *tl)
{
unsigned tcond;
char *acln;

Modified: trunk/varnish-cache/lib/libvcl/vcc_action.c
===================================================================
--- trunk/varnish-cache/lib/libvcl/vcc_action.c 2007-07-05 16:11:13 UTC (rev 1656)
+++ trunk/varnish-cache/lib/libvcl/vcc_action.c 2007-07-05 21:08:15 UTC (rev 1657)
@@ -94,7 +94,7 @@
/*--------------------------------------------------------------------*/

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 @@
}

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 @@
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 @@
}
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 @@
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;

Modified: trunk/varnish-cache/lib/libvcl/vcc_compile.c
===================================================================
--- trunk/varnish-cache/lib/libvcl/vcc_compile.c 2007-07-05 16:11:13 UTC (rev 1656)
+++ trunk/varnish-cache/lib/libvcl/vcc_compile.c 2007-07-05 21:08:15 UTC (rev 1657)
@@ -86,7 +86,7 @@
#include "vcl_returns.h"
#undef VCL_MET_MAC
#undef VCL_RET_MAC
- { NULL, 0U }
+ { NULL, 0U, 0}
};

/*--------------------------------------------------------------------*/

Modified: trunk/varnish-cache/lib/libvcl/vcc_compile.h
===================================================================
--- trunk/varnish-cache/lib/libvcl/vcc_compile.h 2007-07-05 16:11:13 UTC (rev 1656)
+++ trunk/varnish-cache/lib/libvcl/vcc_compile.h 2007-07-05 21:08:15 UTC (rev 1657)
@@ -121,7 +121,7 @@
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 @@
/* 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);

Modified: trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl
===================================================================
--- trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl 2007-07-05 16:11:13 UTC (rev 1656)
+++ trunk/varnish-cache/lib/libvcl/vcc_gen_obj.tcl 2007-07-05 21:08:15 UTC (rev 1657)
@@ -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 @@
{ 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 @@
{ bereq.http.
RW HEADER
{ pipe pass miss }
+ HDR_BEREQ
}

# The (possibly) cached object
@@ -116,6 +118,7 @@
{ obj.http.
RW HEADER
{ hit fetch }
+ HDR_OBJ
}

{ obj.valid
@@ -151,6 +154,7 @@
{ resp.http.
RW HEADER
{ deliver }
+ HDR_RESP
}

# Miscellaneous
@@ -200,6 +204,9 @@
append l " | "
append l VCL_MET_[string toupper $i]
}
+ if {$l == ""} {
+ return "0"
+ }
return [string range $l 3 end]
}

@@ -231,7 +238,11 @@
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\},"


Modified: trunk/varnish-cache/lib/libvcl/vcc_obj.c
===================================================================
--- trunk/varnish-cache/lib/libvcl/vcc_obj.c 2007-07-05 16:11:13 UTC (rev 1656)
+++ trunk/varnish-cache/lib/libvcl/vcc_obj.c 2007-07-05 21:08:15 UTC (rev 1657)
@@ -15,21 +15,21 @@
"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 @@
"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 @@
"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 @@
"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 @@
"VRT_r_resp_http_(sp)",
"VRT_l_resp_http_(sp, ",
V_RW,
- 0,
+ "HDR_RESP",
VCL_MET_DELIVER
},
{ "now", TIME, 3,

Modified: trunk/varnish-cache/lib/libvcl/vcc_var.c
===================================================================
--- trunk/varnish-cache/lib/libvcl/vcc_var.c 2007-07-05 16:11:13 UTC (rev 1656)
+++ trunk/varnish-cache/lib/libvcl/vcc_var.c 2007-07-05 21:08:15 UTC (rev 1657)
@@ -57,6 +57,7 @@
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 @@
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 @@
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;

Modified: trunk/varnish-cache/lib/libvcl/vcc_xref.c
===================================================================
--- trunk/varnish-cache/lib/libvcl/vcc_xref.c 2007-07-05 16:11:13 UTC (rev 1656)
+++ trunk/varnish-cache/lib/libvcl/vcc_xref.c 2007-07-05 21:08:15 UTC (rev 1657)
@@ -328,7 +328,7 @@
}

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 @@
}

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;