[master] 3cd5a9934 Add VCS_String() public function, which depending on the argument returns version related strings.
Dridi Boukelmoune
dridi at varni.sh
Tue May 21 08:31:02 UTC 2019
On Tue, May 21, 2019 at 10:28 AM Poul-Henning Kamp <phk at freebsd.org> wrote:
>
>
> commit 3cd5a9934d3d93c0b3f5f24c9f985d8eb59071dd
> Author: Poul-Henning Kamp <phk at FreeBSD.org>
> Date: Tue May 21 08:26:40 2019 +0000
>
> Add VCS_String() public function, which depending on the argument
> returns version related strings.
>
> Get rid of global, but pretty useles variable VCS_version.
>
> Closes: #2936
>
> diff --git a/bin/varnishd/cache/cache_panic.c b/bin/varnishd/cache/cache_panic.c
> index a0641897b..60a521ece 100644
> --- a/bin/varnishd/cache/cache_panic.c
> +++ b/bin/varnishd/cache/cache_panic.c
> @@ -734,7 +734,7 @@ pan_ic(const char *func, const char *file, int line, const char *cond,
> break;
> }
> VSB_printf(pan_vsb, "version = %s, vrt api = %u.%u\n",
> - VCS_version, VRT_MAJOR_VERSION, VRT_MINOR_VERSION);
> + VCS_String("V"), VRT_MAJOR_VERSION, VRT_MINOR_VERSION);
> VSB_printf(pan_vsb, "ident = %s,%s\n",
> heritage.ident, Waiter_GetName());
> VSB_printf(pan_vsb, "now = %f (mono), %f (real)\n",
> diff --git a/bin/varnishd/mgt/mgt_cli.c b/bin/varnishd/mgt/mgt_cli.c
> index ed38683de..63a696eaa 100644
> --- a/bin/varnishd/mgt/mgt_cli.c
> +++ b/bin/varnishd/mgt/mgt_cli.c
> @@ -81,7 +81,7 @@ mcf_banner(struct cli *cli, const char *const *av, void *priv)
> VCLI_Out(cli, "Varnish Cache CLI 1.0\n");
> VCLI_Out(cli, "-----------------------------\n");
> VCLI_Out(cli, "%s\n", VSB_data(vident) + 1);
> - VCLI_Out(cli, "%s\n", VCS_version);
> + VCLI_Out(cli, "%s\n", VCS_String("V"));
> VCLI_Out(cli, "\n");
> VCLI_Out(cli, "Type 'help' for command list.\n");
> VCLI_Out(cli, "Type 'quit' to close CLI session.\n");
> diff --git a/bin/varnishd/mgt/mgt_main.c b/bin/varnishd/mgt/mgt_main.c
> index 7f6622a01..02b9c7ed0 100644
> --- a/bin/varnishd/mgt/mgt_main.c
> +++ b/bin/varnishd/mgt/mgt_main.c
> @@ -843,7 +843,7 @@ main(int argc, char * const *argv)
> if (pfh2 != NULL)
> VPF_Write(pfh2);
>
> - MGT_Complain(C_DEBUG, "Version: %s", VCS_version);
> + MGT_Complain(C_DEBUG, "Version: %s", VCS_String("V"));
> MGT_Complain(C_DEBUG, "Platform: %s", VSB_data(vident) + 1);
>
> if (d_flag)
> diff --git a/include/vcs.h b/include/vcs.h
> index d3a1585fa..8e605eb97 100644
> --- a/include/vcs.h
> +++ b/include/vcs.h
> @@ -29,5 +29,5 @@
> */
>
> /* from libvarnish/version.c */
> -extern const char *VCS_version;
> void VCS_Message(const char *);
> +const char *VCS_String(const char *which);
> diff --git a/lib/libvarnish/version.c b/lib/libvarnish/version.c
> index b2258ccde..db3398f22 100644
> --- a/lib/libvarnish/version.c
> +++ b/lib/libvarnish/version.c
> @@ -33,16 +33,49 @@
>
> #include <stdio.h>
>
> +#include "vdef.h"
> +#include "vas.h"
> #include "vcs.h"
> #include "vcs_version.h"
>
> -const char *VCS_version =
> - PACKAGE_TARNAME "-" PACKAGE_VERSION " revision " VCS_Version;
> -
> void
> VCS_Message(const char *progname)
> {
> - fprintf(stderr, "%s (%s)\n", progname, VCS_version);
> - fprintf(stderr, "Copyright (c) 2006 Verdens Gang AS\n");
> - fprintf(stderr, "Copyright (c) 2006-2019 Varnish Software AS\n");
> + fprintf(stderr, "%s %s", progname, VCS_String("M"));
> +}
> +
> +const char *
> +VCS_String(const char *which)
> +{
> + AN(which);
> + assert(which[1] == '\0');
Why not simply take a char here?
> + switch(*which) {
> + case 'T':
> + return (PACKAGE_TARNAME);
> + case 'P':
> + return (PACKAGE_VERSION);
> + case 'R':
> + return (VCS_Version);
> + case 'V':
> + return (
> + PACKAGE_TARNAME
> + "-" PACKAGE_VERSION
> + " revision " VCS_Version
> + );
> + case 'M':
> + return (
> + "("
> + PACKAGE_TARNAME
> + "-" PACKAGE_VERSION
> + " revision " VCS_Version
> + ")"
> + "\n"
> + "Copyright (c) 2006 Verdens Gang AS\n"
> + "Copyright (c) 2006-2019 Varnish Software AS\n"
> + );
> + default:
> + WRONG("Wrong argument to VCS_String");
> + }
> + NEEDLESS(return (0));
> }
> diff --git a/lib/libvarnishapi/libvarnishapi.map b/lib/libvarnishapi/libvarnishapi.map
> index addfb3077..17f982ddd 100644
> --- a/lib/libvarnishapi/libvarnishapi.map
> +++ b/lib/libvarnishapi/libvarnishapi.map
> @@ -167,3 +167,10 @@ LIBVARNISHAPI_2.2 {
> local:
> *;
> };
> +
> +LIBVARNISHAPI_2.3 { /* 2019-09-15 release */
> + global:
> + VCS_String;
> + local:
> + *;
> +};
> diff --git a/lib/libvarnishapi/vsl_query.c b/lib/libvarnishapi/vsl_query.c
> index 42596af10..a60bc6017 100644
> --- a/lib/libvarnishapi/vsl_query.c
> +++ b/lib/libvarnishapi/vsl_query.c
> @@ -348,7 +348,7 @@ vslq_exec(const struct vex *vex, struct VSL_transaction * const ptrans[])
> default:
> return (vslq_test(vex, ptrans));
> }
> - NEEDLESS(return 0);
> + NEEDLESS(return (0));
> }
>
> struct vslq_query *
> diff --git a/lib/libvcc/vmodtool.py b/lib/libvcc/vmodtool.py
> index 4d8734d4c..d431df1cf 100755
> --- a/lib/libvcc/vmodtool.py
> +++ b/lib/libvcc/vmodtool.py
> @@ -1023,7 +1023,7 @@ class vcc(object):
> t = '\t"'
> for i in json.dumps(jl, indent=2, separators=(",", ": ")):
> if i == '\n':
> - fo.write(t + '\\n"\n')
> + fo.write(t + ' "\n')
> t = '\t"'
> else:
> if i in '"\\':
> _______________________________________________
> varnish-commit mailing list
> varnish-commit at varnish-cache.org
> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-commit
More information about the varnish-commit
mailing list