[master] 27b8fc4e8 mgt_vcl: Move vcl.list to the VTE API

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Mon Aug 21 20:52:08 UTC 2023


commit 27b8fc4e8197fd5360e294bcf131d3a252901647
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date:   Thu Aug 17 15:32:53 2023 +0200

    mgt_vcl: Move vcl.list to the VTE API

diff --git a/bin/varnishd/mgt/mgt_vcl.c b/bin/varnishd/mgt/mgt_vcl.c
index 2b46db352..882c828aa 100644
--- a/bin/varnishd/mgt/mgt_vcl.c
+++ b/bin/varnishd/mgt/mgt_vcl.c
@@ -827,7 +827,7 @@ mcf_vcl_list(struct cli *cli, const char * const *av, void *priv)
 	struct vclprog *vp;
 	struct vcldep *vd;
 	const struct vclstate *vs;
-	struct vsb *vsb;
+	struct vte *vte;
 
 	/* NB: Shall generate same output as vcl_cli_list() */
 
@@ -841,29 +841,31 @@ mcf_vcl_list(struct cli *cli, const char * const *av, void *priv)
 		}
 		free(p);
 	} else {
-		vsb = VSB_new_auto();
-		AN(vsb);
+		vte = VTE_new(7, 80);
+		AN(vte);
 
 		VTAILQ_FOREACH(vp, &vclhead, list) {
-			VSB_printf(vsb, "%s",
+			VTE_printf(vte, "%s",
 			    vp == mgt_vcl_active ? "active" : "available");
 			vs = vp->warm ?  VCL_STATE_WARM : VCL_STATE_COLD;
-			VSB_printf(vsb, "\t%s\t%s", vp->state->name, vs->name);
-			VSB_printf(vsb, "\t%6s\t%s", "-", vp->name);
+			VTE_printf(vte, "\t%s\t%s", vp->state->name, vs->name);
+			VTE_printf(vte, "\t%6s\t%s", "-", vp->name);
 			if (mcf_is_label(vp)) {
 				vd = VTAILQ_FIRST(&vp->dfrom);
 				AN(vd);
-				VSB_printf(vsb, "\t->\t%s", vd->to->name);
+				VTE_printf(vte, "\t->\t%s", vd->to->name);
 				if (vp->nto > 0)
-					VSB_printf(vsb, " (%d return(vcl)%s)",
+					VTE_printf(vte, " (%d return(vcl)%s)",
 					    vp->nto, vp->nto > 1 ? "'s" : "");
 			} else if (vp->nto > 0) {
-				VSB_printf(vsb, "\t<-\t(%d label%s)",
+				VTE_printf(vte, "\t<-\t(%d label%s)",
 				    vp->nto, vp->nto > 1 ? "s" : "");
 			}
-			VSB_cat(vsb, "\n");
+			VTE_cat(vte, "\n");
 		}
-		VCLI_VTE(cli, &vsb, 80);
+		AZ(VTE_finish(vte));
+		AZ(VTE_format(vte, VCLI_VTE_format, cli));
+		VTE_destroy(&vte);
 	}
 }
 


More information about the varnish-commit mailing list