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.
This commit is contained in:
Willy Tarreau 2015-06-01 15:39:50 +02:00
parent ba3dd2b7e0
commit f63386ad27
3 changed files with 15 additions and 9 deletions

View File

@ -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

View File

@ -3,7 +3,9 @@
#include <stdio.h>
#include <common/cfgparse.h>
#include <proto/arg.h>
#include <proto/log.h>
#include <proto/sample.h>
#include <import/da.h>
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 <const> 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

View File

@ -32,10 +32,6 @@
#include <proto/sample.h>
#include <proto/stick_table.h>
#ifdef USE_DEVICEATLAS
#include <import/da.h>
#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 },
}};