return 0;
}
-static int (*str_to_parser(const char *str))(char *rrd_data, const char **parser_data)
-{
- if (!str)
- return NULL;
-
- if (!strcmp(str, "cpu"))
- return cpu_parser;
-
- if (!strcmp(str, "mem"))
- return mem_parser;
-
- if (!strcmp(str, "cpu_mem"))
- return cpu_mem_parser;
-
- if (!strcmp(str, "digitemp"))
- return digitemp_parser;
-
- if (!strcmp(str, "digitemp_mod"))
- return digitemp_parser_mod;
-
- if (!strcmp(str, "script"))
- return script_parser;
-
- if (!strcmp(str, "netstats"))
- return netstats_parser;
-
- if (!strcmp(str, "onewire"))
- return onewire_parser;
-
- return NULL;
-}
-
static int parse_data_sources(config_setting_t *rrd, struct rrd_database *db)
{
config_setting_t *list, *group;
/* Parser is not a mandatory parameter */
config_setting_lookup_string(rrd, "parser", &parser);
- db->parse = str_to_parser(parser);
+ db->parser = str_to_parser(parser);
list = config_setting_get_member(rrd, "image");
parse_images(list, db);