From 5f67d3aee3a756beb46bae610e1a75548e03c07f Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Mon, 15 Jan 2024 19:36:58 +0000 Subject: [PATCH] Slight reshuffling of some lines of code. --- lib/libvarnish/vcli_serve.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/lib/libvarnish/vcli_serve.c b/lib/libvarnish/vcli_serve.c index dbb384a0ff..3f3c71dc90 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);