[master] 67da10c7b Coccinelle patch for SkipToken in libvcc

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Mon Dec 16 07:58:07 UTC 2019


commit 67da10c7b5e66c07dec07e30e678e6da1b1ac6d2
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date:   Fri Dec 13 19:07:17 2019 +0100

    Coccinelle patch for SkipToken in libvcc

diff --git a/lib/libvcc/vcc_action.c b/lib/libvcc/vcc_action.c
index 7a539fa58..95d3a9216 100644
--- a/lib/libvcc/vcc_action.c
+++ b/lib/libvcc/vcc_action.c
@@ -225,8 +225,7 @@ static void
 vcc_act_return_pass(struct vcc *tl)
 {
 
-	ExpectErr(tl, '(');
-	vcc_NextToken(tl);
+	SkipToken(tl, '(');
 	Fb(tl, 1, "VRT_hit_for_pass(ctx,\n");
 	tl->indent += INDENT;
 	vcc_Expr(tl, DURATION);
@@ -240,8 +239,7 @@ vcc_act_return_pass(struct vcc *tl)
 static void
 vcc_act_return_fail(struct vcc *tl)
 {
-	ExpectErr(tl, '(');
-	vcc_NextToken(tl);
+	SkipToken(tl, '(');
 	Fb(tl, 1, "VRT_fail(ctx,\n");
 	tl->indent += INDENT;
 	vcc_Expr(tl, STRING);
@@ -257,8 +255,7 @@ static void
 vcc_act_return_synth(struct vcc *tl)
 {
 
-	ExpectErr(tl, '(');
-	vcc_NextToken(tl);
+	SkipToken(tl, '(');
 	Fb(tl, 1, "VRT_synth(ctx,\n");
 	tl->indent += INDENT;
 	vcc_Expr(tl, INT);
@@ -285,8 +282,7 @@ vcc_act_return_vcl(struct vcc *tl)
 	struct inifin *p;
 	char buf[1024];
 
-	ExpectErr(tl, '(');
-	vcc_NextToken(tl);
+	SkipToken(tl, '(');
 	ExpectErr(tl, ID);
 	sym = VCC_SymbolGet(tl, SYM_VCL, SYMTAB_EXISTING, XREF_NONE);
 	ERRCHK(tl);
diff --git a/lib/libvcc/vcc_vmod.c b/lib/libvcc/vcc_vmod.c
index af386ffb2..96b119913 100644
--- a/lib/libvcc/vcc_vmod.c
+++ b/lib/libvcc/vcc_vmod.c
@@ -396,9 +396,7 @@ vcc_Act_New(struct vcc *tl, struct token *t, struct symbol *sym)
 	AN(isym);
 	isym->noref = 1;
 
-	ExpectErr(tl, '=');
-	vcc_NextToken(tl);
-
+	SkipToken(tl, '=');
 	ExpectErr(tl, ID);
 	osym = VCC_SymbolGet(tl, SYM_OBJECT, SYMTAB_EXISTING, XREF_NONE);
 	ERRCHK(tl);
diff --git a/tools/coccinelle/vcc_skip_token.cocci b/tools/coccinelle/vcc_skip_token.cocci
new file mode 100644
index 000000000..a921accf6
--- /dev/null
+++ b/tools/coccinelle/vcc_skip_token.cocci
@@ -0,0 +1,11 @@
+/*
+ * This patch simplifies token parsing.
+ */
+
+@@
+expression tl, tok;
+@@
+
+- ExpectErr(tl, tok);
+- vcc_NextToken(tl);
++ SkipToken(tl, tok);


More information about the varnish-commit mailing list