[master] a911a136e Refactoring

Poul-Henning Kamp phk at FreeBSD.org
Fri May 7 08:56:05 UTC 2021


commit a911a136e86bd46219c41f7811a2b667dda75581
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Thu May 6 08:51:04 2021 +0000

    Refactoring

diff --git a/lib/libvcc/vcc_compile.h b/lib/libvcc/vcc_compile.h
index 7d01ae9c8..2219531d1 100644
--- a/lib/libvcc/vcc_compile.h
+++ b/lib/libvcc/vcc_compile.h
@@ -433,6 +433,8 @@ void vcc_Duration(struct vcc *tl, double *);
 unsigned vcc_UintVal(struct vcc *tl);
 int vcc_IsFlag(struct vcc *tl);
 int vcc_IsFlagRaw(struct vcc *, const struct token *, const struct token *);
+char *vcc_Dup_be(const char *b, const char *e);
+int vcc_Has_vcl_prefix(const char *b);
 
 /* vcc_var.c */
 sym_wildcard_t vcc_Var_Wildcard;
diff --git a/lib/libvcc/vcc_parse.c b/lib/libvcc/vcc_parse.c
index 41fe8dd03..432d5681b 100644
--- a/lib/libvcc/vcc_parse.c
+++ b/lib/libvcc/vcc_parse.c
@@ -244,10 +244,7 @@ vcc_ParseFunction(struct vcc *tl)
 	p = sym->proc;
 	if (p == NULL) {
 		if (vcc_builtin != NULL && bsym == NULL &&
-		    (t->b[0] == 'v'|| t->b[0] == 'V') &&
-		    (t->b[1] == 'c'|| t->b[1] == 'C') &&
-		    (t->b[2] == 'l'|| t->b[2] == 'L') &&
-		    (t->b[3] == '_')) {
+		    vcc_Has_vcl_prefix(t->b)) {
 			VSB_printf(tl->sb,"The names 'vcl_*'"
 			    " are reserved for subroutines.\n");
 			vcc_ErrWhere(tl, t);
diff --git a/lib/libvcc/vcc_symb.c b/lib/libvcc/vcc_symb.c
index 0423c3c14..6e8d275b5 100644
--- a/lib/libvcc/vcc_symb.c
+++ b/lib/libvcc/vcc_symb.c
@@ -125,22 +125,6 @@ VCC_SymName(struct vsb *vsb, const struct symbol *sym)
 	vcc_symtabname(vsb, sym->symtab);
 }
 
-static char *
-vcc_dup_be(const char *b, const char *e)
-{
-	char *p;
-
-	AN(b);
-	if (e == NULL)
-		e = strchr(b, '\0');
-	AN(e);
-	assert(e >= b);
-
-	p = strndup(b, e - b);
-	AN(p);
-	return (p);
-}
-
 static struct symtab *
 vcc_symtab_new(const char *name)
 {
@@ -177,14 +161,14 @@ vcc_symtab_str(struct symtab *st, const char *b, const char *e)
 				continue;
 			if (i == 0 && l == st2->nlen)
 				break;
-			st3 = vcc_symtab_new(vcc_dup_be(b, q));
+			st3 = vcc_symtab_new(vcc_Dup_be(b, q));
 			st3->parent = st;
 			VTAILQ_INSERT_BEFORE(st2, st3, list);
 			st2 = st3;
 			break;
 		}
 		if (st2 == NULL) {
-			st2 = vcc_symtab_new(vcc_dup_be(b, q));
+			st2 = vcc_symtab_new(vcc_Dup_be(b, q));
 			st2->parent = st;
 			VTAILQ_INSERT_TAIL(&st->children, st2, list);
 		}
@@ -287,10 +271,7 @@ VCC_SymbolGet(struct vcc *tl, vcc_ns_t ns, vcc_kind_t kind,
 	AN(x);
 	AN(x->name);
 	if (tl->syntax >= VCL_41 && e == SYMTAB_CREATE && kind != SYM_SUB &&
-	    (tl->t->b[0] == 'v'|| tl->t->b[0] == 'V') &&
-	    (tl->t->b[1] == 'c'|| tl->t->b[1] == 'C') &&
-	    (tl->t->b[2] == 'l'|| tl->t->b[2] == 'L') &&
-	    (tl->t->b[3] == '_')) {
+	    vcc_Has_vcl_prefix(tl->t->b)) {
 		VSB_cat(tl->sb, "Symbols named 'vcl_*' are reserved.\nAt:");
 		vcc_ErrWhere(tl, tl->t);
 		return (NULL);
diff --git a/lib/libvcc/vcc_utils.c b/lib/libvcc/vcc_utils.c
index d60d932cd..7e4e00a99 100644
--- a/lib/libvcc/vcc_utils.c
+++ b/lib/libvcc/vcc_utils.c
@@ -385,3 +385,30 @@ vcc_IsFlag(struct vcc *tl)
 		vcc_NextToken(tl);
 	return (retval);
 }
+
+char *
+vcc_Dup_be(const char *b, const char *e)
+{
+	char *p;
+
+	AN(b);
+	if (e == NULL)
+		e = strchr(b, '\0');
+	AN(e);
+	assert(e >= b);
+
+	p = strndup(b, e - b);
+	AN(p);
+	return (p);
+}
+
+int
+vcc_Has_vcl_prefix(const char *b)
+{
+	return (
+	    (b[0] == 'v' || b[0] == 'V') &&
+	    (b[1] == 'c' || b[1] == 'C') &&
+	    (b[2] == 'l' || b[2] == 'L') &&
+	    (b[3] == '_')
+	);
+}


More information about the varnish-commit mailing list