[master] 3cd5a9934 Add VCS_String() public function, which depending on the argument returns version related strings.
Poul-Henning Kamp
phk at FreeBSD.org
Tue May 21 08:28:09 UTC 2019
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');
+
+ 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 '"\\':
More information about the varnish-commit
mailing list