[master] a5d2273fa Keep track of dynamic param bounds
Poul-Henning Kamp
phk at FreeBSD.org
Mon Oct 21 11:56:06 UTC 2019
commit a5d2273fa8cb892f4e98f4b0094f291263d9baf0
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date: Wed Oct 16 10:48:04 2019 +0200
Keep track of dynamic param bounds
diff --git a/bin/varnishd/mgt/mgt_param.c b/bin/varnishd/mgt/mgt_param.c
index 3a0b57f61..b65884eae 100644
--- a/bin/varnishd/mgt/mgt_param.c
+++ b/bin/varnishd/mgt/mgt_param.c
@@ -708,16 +708,22 @@ MCF_ParamConf(enum mcf_which_e which, const char * const param,
AZ(VSB_finish(vsb));
switch (which) {
case MCF_DEFAULT:
- pp->def = strdup(VSB_data(vsb));
- AN(pp->def);
+ free(pp->dyn_def);
+ pp->dyn_def = strdup(VSB_data(vsb));
+ AN(pp->dyn_def);
+ pp->def = pp->dyn_def;
break;
case MCF_MINIMUM:
- pp->min = strdup(VSB_data(vsb));
- AN(pp->min);
+ free(pp->dyn_min);
+ pp->dyn_min = strdup(VSB_data(vsb));
+ AN(pp->dyn_min);
+ pp->min = pp->dyn_min;
break;
case MCF_MAXIMUM:
- pp->max = strdup(VSB_data(vsb));
- AN(pp->max);
+ free(pp->dyn_max);
+ pp->dyn_max = strdup(VSB_data(vsb));
+ AN(pp->dyn_max);
+ pp->max = pp->dyn_max;
break;
default:
WRONG("bad 'which'");
diff --git a/bin/varnishd/mgt/mgt_param.h b/bin/varnishd/mgt/mgt_param.h
index 7188b64e1..0e5258728 100644
--- a/bin/varnishd/mgt/mgt_param.h
+++ b/bin/varnishd/mgt/mgt_param.h
@@ -55,6 +55,10 @@ struct parspec {
const char *def;
const char *units;
+
+ char *dyn_min;
+ char *dyn_max;
+ char *dyn_def;
};
tweak_t tweak_bool;
More information about the varnish-commit
mailing list