[master] 5f67d3aee Slight reshuffling of some lines of code.

Poul-Henning Kamp phk at FreeBSD.org
Mon Jan 15 19:38:06 UTC 2024


commit 5f67d3aee3a756beb46bae610e1a75548e03c07f
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Mon Jan 15 19:36:58 2024 +0000

    Slight reshuffling of some lines of code.

diff --git a/lib/libvarnish/vcli_serve.c b/lib/libvarnish/vcli_serve.c
index dbb384a0f..3f3c71dc9 100644
--- a/lib/libvarnish/vcli_serve.c
+++ b/lib/libvarnish/vcli_serve.c
@@ -212,14 +212,27 @@ VCLS_func_help_json(struct cli *cli, const char * const *av, void *priv)
  */
 
 static void
-cls_dispatch(struct cli *cli, const struct cli_proto *cp,
-    char * const * av, int ac)
+cls_dispatch(struct cli *cli, struct VCLS *cs, char * const * av, int ac)
 {
 	int json = 0;
+	struct cli_proto *cp;
 
 	AN(av);
 	assert(ac >= 0);
 
+	VTAILQ_FOREACH(cp, &cs->funcs, list) {
+		if (cp->auth > cli->auth)
+			continue;
+		if (!strcmp(cp->desc->request, av[1]))
+			break;
+	}
+
+	if (cp == NULL && cs->wildcard && cs->wildcard->auth <= cli->auth)
+		cp = cs->wildcard;
+
+	if (cp == NULL)
+		return;
+
 	VSB_clear(cli->sb);
 
 	if (ac > 1 && !strcmp(av[2], "-j"))
@@ -263,7 +276,6 @@ static int
 cls_exec(struct VCLS_fd *cfd, char * const *av)
 {
 	struct VCLS *cs;
-	struct cli_proto *clp;
 	struct cli *cli;
 	int na;
 	ssize_t len;
@@ -313,17 +325,7 @@ cls_exec(struct VCLS_fd *cfd, char * const *av)
 		for (na = 0; av[na + 1] != NULL; na++)
 			continue;
 
-		VTAILQ_FOREACH(clp, &cs->funcs, list) {
-			if (clp->auth > cli->auth)
-				continue;
-			if (!strcmp(clp->desc->request, av[1])) {
-				cls_dispatch(cli, clp, av, na);
-				break;
-			}
-		}
-		if (clp == NULL &&
-		    cs->wildcard && cs->wildcard->auth <= cli->auth)
-			cls_dispatch(cli, cs->wildcard, av, na);
+		cls_dispatch(cli, cs, av, na);
 
 	} while (0);
 


More information about the varnish-commit mailing list