From: phk Date: Mon, 25 Jun 2007 06:46:34 +0000 (+0000) Subject: Also tun the compiled VCL through cc(1) and try to load it into mgt process X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f058cc58729e9adc29e7079b86cb8cbecb7f66d5;p=varnish Also tun the compiled VCL through cc(1) and try to load it into mgt process when -C is specified, this makes it easier to do completeness test on the VRT interface. git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1549 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- diff --git a/varnish-cache/bin/varnishd/mgt_vcc.c b/varnish-cache/bin/varnishd/mgt_vcc.c index 6563b503..b8deb024 100644 --- a/varnish-cache/bin/varnishd/mgt_vcc.c +++ b/varnish-cache/bin/varnishd/mgt_vcc.c @@ -237,26 +237,34 @@ mgt_CallCc(const char *source, struct vsb *sb) /*--------------------------------------------------------------------*/ static char * -mgt_VccCompile(struct vsb *sb, const char *b, const char *e) +mgt_VccCompile(struct vsb *sb, const char *b, const char *e, int C_flag) { char *csrc, *vf = NULL; csrc = VCC_Compile(sb, b, e); if (csrc != NULL) { + if (C_flag) + fputs(csrc, stdout); vf = mgt_CallCc(csrc, sb); + if (C_flag && vf != NULL) + AZ(unlink(vf)); free(csrc); } return (vf); } static char * -mgt_VccCompileFile(struct vsb *sb, const char *fn) +mgt_VccCompileFile(struct vsb *sb, const char *fn, int C_flag) { char *csrc, *vf = NULL; csrc = VCC_CompileFile(sb, fn); if (csrc != NULL) { + if (C_flag) + fputs(csrc, stdout); vf = mgt_CallCc(csrc, sb); + if (C_flag && vf != NULL) + AZ(unlink(vf)); free(csrc); } return (vf); @@ -308,7 +316,7 @@ mgt_vcc_delbyname(const char *name) int mgt_vcc_default(const char *b_arg, const char *f_arg, int C_flag) { - char *addr, *port, *csrc; + char *addr, *port; char *buf, *vf; struct vsb *sb; struct vclprog *vp; @@ -338,20 +346,10 @@ mgt_vcc_default(const char *b_arg, const char *f_arg, int C_flag) free(addr); free(port); AN(buf); - if (C_flag) { - csrc = VCC_Compile(sb, buf, NULL); - if (csrc != NULL) - fputs(csrc, stdout); - } - vf = mgt_VccCompile(sb, buf, NULL); + vf = mgt_VccCompile(sb, buf, NULL, C_flag); free(buf); - } else if (C_flag) { - csrc = VCC_CompileFile(sb, f_arg); - if (csrc != NULL) - fputs(csrc, stdout); - vf = NULL; } else { - vf = mgt_VccCompileFile(sb, f_arg); + vf = mgt_VccCompileFile(sb, f_arg, C_flag); } vsb_finish(sb); if (vsb_len(sb) > 0) { @@ -432,7 +430,7 @@ mcf_config_inline(struct cli *cli, char **av, void *priv) sb = vsb_new(NULL, NULL, 0, VSB_AUTOEXTEND); XXXAN(sb); - vf = mgt_VccCompile(sb, av[3], NULL); + vf = mgt_VccCompile(sb, av[3], NULL, 0); vsb_finish(sb); if (vsb_len(sb) > 0) { cli_out(cli, "%s", vsb_data(sb)); @@ -463,7 +461,7 @@ mcf_config_load(struct cli *cli, char **av, void *priv) sb = vsb_new(NULL, NULL, 0, VSB_AUTOEXTEND); XXXAN(sb); - vf = mgt_VccCompileFile(sb, av[3]); + vf = mgt_VccCompileFile(sb, av[3], 0); vsb_finish(sb); if (vsb_len(sb) > 0) { cli_out(cli, "%s", vsb_data(sb));