[master] c6b8697 Eliminate vcc_RTimeVal(), rename vcc_TimeVal() to Vcc_Duration(). Clean up some asserts.

Poul-Henning Kamp phk at varnish-cache.org
Wed Oct 24 11:12:37 CEST 2012


commit c6b8697b7784eac9ab0601eef818541929e3218b
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Wed Oct 24 09:12:08 2012 +0000

    Eliminate vcc_RTimeVal(), rename vcc_TimeVal() to Vcc_Duration().
    Clean up some asserts.

diff --git a/lib/libvcl/vcc_backend.c b/lib/libvcl/vcc_backend.c
index 6404a3e..319eef1 100644
--- a/lib/libvcl/vcc_backend.c
+++ b/lib/libvcl/vcc_backend.c
@@ -278,12 +278,12 @@ vcc_ParseProbeSpec(struct vcc *tl)
 			Fh(tl, 0, "\t\t\"\\r\\n\",\n");
 		} else if (vcc_IdIs(t_field, "timeout")) {
 			Fh(tl, 0, "\t.timeout = ");
-			vcc_TimeVal(tl, &t);
+			vcc_Duration(tl, &t);
 			ERRCHK(tl);
 			Fh(tl, 0, "%g,\n", t);
 		} else if (vcc_IdIs(t_field, "interval")) {
 			Fh(tl, 0, "\t.interval = ");
-			vcc_TimeVal(tl, &t);
+			vcc_Duration(tl, &t);
 			ERRCHK(tl);
 			Fh(tl, 0, "%g,\n", t);
 		} else if (vcc_IdIs(t_field, "window")) {
@@ -470,19 +470,19 @@ vcc_ParseHostDef(struct vcc *tl, int serial, const char *vgcname)
 			SkipToken(tl, ';');
 		} else if (vcc_IdIs(t_field, "connect_timeout")) {
 			Fb(tl, 0, "\t.connect_timeout = ");
-			vcc_TimeVal(tl, &t);
+			vcc_Duration(tl, &t);
 			ERRCHK(tl);
 			Fb(tl, 0, "%g,\n", t);
 			SkipToken(tl, ';');
 		} else if (vcc_IdIs(t_field, "first_byte_timeout")) {
 			Fb(tl, 0, "\t.first_byte_timeout = ");
-			vcc_TimeVal(tl, &t);
+			vcc_Duration(tl, &t);
 			ERRCHK(tl);
 			Fb(tl, 0, "%g,\n", t);
 			SkipToken(tl, ';');
 		} else if (vcc_IdIs(t_field, "between_bytes_timeout")) {
 			Fb(tl, 0, "\t.between_bytes_timeout = ");
-			vcc_TimeVal(tl, &t);
+			vcc_Duration(tl, &t);
 			ERRCHK(tl);
 			Fb(tl, 0, "%g,\n", t);
 			SkipToken(tl, ';');
diff --git a/lib/libvcl/vcc_compile.h b/lib/libvcl/vcc_compile.h
index a8c6e02..99a1169 100644
--- a/lib/libvcl/vcc_compile.h
+++ b/lib/libvcl/vcc_compile.h
@@ -272,8 +272,7 @@ parsedirector_f vcc_ParseRandomDirector;
 parsedirector_f vcc_ParseRoundRobinDirector;
 
 /* vcc_expr.c */
-void vcc_RTimeVal(struct vcc *tl, double *);
-void vcc_TimeVal(struct vcc *tl, double *);
+void vcc_Duration(struct vcc *tl, double *);
 unsigned vcc_UintVal(struct vcc *tl);
 void vcc_Expr(struct vcc *tl, enum var_type typ);
 void vcc_Expr_Call(struct vcc *tl, const struct symbol *sym);
diff --git a/lib/libvcl/vcc_dir_dns.c b/lib/libvcl/vcc_dir_dns.c
index 55ed921..4d61585 100644
--- a/lib/libvcl/vcc_dir_dns.c
+++ b/lib/libvcl/vcc_dir_dns.c
@@ -194,17 +194,17 @@ vcc_dir_dns_parse_backend_options(struct vcc *tl)
 			vcc_NextToken(tl);
 			SkipToken(tl, ';');
 		} else if (vcc_IdIs(t_field, "connect_timeout")) {
-			vcc_TimeVal(tl, &t);
+			vcc_Duration(tl, &t);
 			ERRCHK(tl);
 			b_defaults.connect_timeout = t;
 			SkipToken(tl, ';');
 		} else if (vcc_IdIs(t_field, "first_byte_timeout")) {
-			vcc_TimeVal(tl, &t);
+			vcc_Duration(tl, &t);
 			ERRCHK(tl);
 			b_defaults.first_byte_timeout = t;
 			SkipToken(tl, ';');
 		} else if (vcc_IdIs(t_field, "between_bytes_timeout")) {
-			vcc_TimeVal(tl, &t);
+			vcc_Duration(tl, &t);
 			ERRCHK(tl);
 			b_defaults.between_bytes_timeout = t;
 			SkipToken(tl, ';');
@@ -333,7 +333,7 @@ vcc_ParseDnsDirector(struct vcc *tl)
 				vcc_NextToken(tl);
 				ExpectErr(tl, ';');
 			} else if (vcc_IdIs(t_field, "ttl")) {
-				vcc_RTimeVal(tl, &ttl);
+				vcc_Duration(tl, &ttl);
 				ExpectErr(tl, ';');
 			} else if (vcc_IdIs(t_field, "list")) {
 				vcc_dir_dns_parse_list(tl,&nelem);
diff --git a/lib/libvcl/vcc_expr.c b/lib/libvcl/vcc_expr.c
index 00e5994..a5f9147 100644
--- a/lib/libvcl/vcc_expr.c
+++ b/lib/libvcl/vcc_expr.c
@@ -154,26 +154,7 @@ vcc_DoubleVal(struct vcc *tl)
 /*--------------------------------------------------------------------*/
 
 void
-vcc_RTimeVal(struct vcc *tl, double *d)
-{
-	double v, sc;
-	int sign = 1;
-
-	if (tl->t->tok == '-') {
-		sign *= -1;
-		vcc_NextToken(tl);
-	}
-	v = vcc_DoubleVal(tl);
-	ERRCHK(tl);
-	ExpectErr(tl, ID);
-	sc = vcc_TimeUnit(tl);
-	*d = sign * v * sc;
-}
-
-/*--------------------------------------------------------------------*/
-
-void
-vcc_TimeVal(struct vcc *tl, double *d)
+vcc_Duration(struct vcc *tl, double *d)
 {
 	double v, sc;
 
@@ -318,6 +299,7 @@ vcc_expr_edit(enum var_type fmt, const char *p, struct expr *e1,
 	struct expr *e;
 	int nl = 1;
 
+	AN(e1);
 	e = vcc_new_expr();
 	while (*p != '\0') {
 		if (*p != '\v') {
@@ -332,7 +314,6 @@ vcc_expr_edit(enum var_type fmt, const char *p, struct expr *e1,
 		case '+': VSB_cat(e->vsb, "\v+"); break;
 		case '-': VSB_cat(e->vsb, "\v-"); break;
 		case '1':
-			AN(e1);
 			VSB_cat(e->vsb, VSB_data(e1->vsb));
 			break;
 		case '2':
@@ -345,14 +326,10 @@ vcc_expr_edit(enum var_type fmt, const char *p, struct expr *e1,
 		p++;
 	}
 	AZ(VSB_finish(e->vsb));
-	if (e1 != NULL)
-		e->t1 = e1->t1;
-	else if (e2 != NULL)
-		e->t1 = e2->t1;
+	e->t1 = e1->t1;
+	e->t2 = e1->t2;
 	if (e2 != NULL)
 		e->t2 = e2->t2;
-	else if (e1 != NULL)
-		e->t2 = e1->t2;
 	vcc_delete_expr(e1);
 	vcc_delete_expr(e2);
 	e->fmt = fmt;
@@ -392,7 +369,7 @@ vcc_expr_fmt(struct vsb *d, int ind, const struct expr *e1)
 		case '+': ind += 2; break;
 		case '-': ind -= 2; break;
 		default:
-			assert(__LINE__ == 0);
+			WRONG("Illegal format in VCC expression");
 		}
 		p++;
 	}
@@ -491,7 +468,7 @@ vcc_Eval_Regsub(struct vcc *tl, struct expr **e, const struct symbol *sym)
 		return;
 	if (e2->fmt != STRING)
 		vcc_expr_tostring(&e2, STRING);
-	*e = vcc_expr_edit(STRING, "\v1,\n\v2)\v-",*e, e2);
+	*e = vcc_expr_edit(STRING, "\v1,\n\v2)\v-", *e, e2);
 	SkipToken(tl, ')');
 }
 
@@ -700,7 +677,7 @@ vcc_expr4(struct vcc *tl, struct expr **e, enum var_type fmt)
 		 */
 		assert(fmt != VOID);
 		if (fmt == DURATION) {
-			vcc_RTimeVal(tl, &d);
+			vcc_Duration(tl, &d);
 			ERRCHK(tl);
 			e1 = vcc_mk_expr(DURATION, "%g", d);
 		} else if (fmt == BYTES) {



More information about the varnish-commit mailing list