From: Willy Tarreau Date: Mon, 1 Jun 2015 13:39:50 +0000 (+0200) Subject: CLEANUP: da: move the converter registration to da.c X-Git-Tag: v1.6-dev2~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f63386ad275749d8635c99b9ee3394179964fedb;p=thirdparty%2Fhaproxy.git CLEANUP: da: move the converter registration to da.c There's no reason to put it into sample.c, it's better to register it locally in da.c, it removes a number of ifdefs and exports. --- diff --git a/include/import/da.h b/include/import/da.h index d990188ca7..1c110d0745 100644 --- a/include/import/da.h +++ b/include/import/da.h @@ -8,6 +8,5 @@ void da_register_cfgkeywords(void); int init_deviceatlas(void); void deinit_deviceatlas(void); -int da_haproxy(const struct arg *, struct sample *, void *); #endif #endif diff --git a/src/da.c b/src/da.c index 0f3a86187c..03b4b3e89f 100644 --- a/src/da.c +++ b/src/da.c @@ -3,7 +3,9 @@ #include #include +#include #include +#include #include static int da_json_file(char **args, int section_type, struct proxy *curpx, @@ -141,7 +143,7 @@ void deinit_deviceatlas(void) da_fini(); } -int da_haproxy(const struct arg *args, struct sample *smp, void *private) +static int da_haproxy(const struct arg *args, struct sample *smp, void *private) { struct chunk *tmp; da_deviceinfo_t devinfo; @@ -229,4 +231,16 @@ int da_haproxy(const struct arg *args, struct sample *smp, void *private) return 1; } +/* Note: must not be declared as its list will be overwritten */ +static struct sample_conv_kw_list conv_kws = {ILH, { + { "da-csv", da_haproxy, ARG5(1,STR,STR,STR,STR,STR), NULL, SMP_T_STR, SMP_T_STR }, + { NULL, NULL, 0, 0, 0 }, +}}; + +__attribute__((constructor)) +static void __da_init(void) +{ + /* register sample fetch and format conversion keywords */ + sample_register_convs(&conv_kws); +} #endif diff --git a/src/sample.c b/src/sample.c index 59fa15812a..47d48c8ba9 100644 --- a/src/sample.c +++ b/src/sample.c @@ -32,10 +32,6 @@ #include #include -#ifdef USE_DEVICEATLAS -#include -#endif - /* sample type names */ const char *smp_to_type[SMP_TYPES] = { [SMP_T_BOOL] = "bool", @@ -2282,9 +2278,6 @@ static struct sample_conv_kw_list sample_conv_kws = {ILH, { { "div", sample_conv_arith_div, ARG1(1,UINT), NULL, SMP_T_UINT, SMP_T_UINT }, { "mod", sample_conv_arith_mod, ARG1(1,UINT), NULL, SMP_T_UINT, SMP_T_UINT }, { "neg", sample_conv_arith_neg, 0, NULL, SMP_T_UINT, SMP_T_UINT }, -#ifdef USE_DEVICEATLAS - { "da-csv", da_haproxy, ARG5(1,STR,STR,STR,STR,STR), NULL, SMP_T_STR, SMP_T_STR }, -#endif { NULL, NULL, 0, 0, 0 }, }};