X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Ftail.c;h=0ac8be7c87049be84415d33e71e0af8bed1ec482;hb=0a8741b9061f8df4a78a448c021612db06e17425;hp=708cd2a32737e0a10678bc7d650c48c4c6029ba8;hpb=213eb227d7737bfbd899474033f94342c61dcb8c;p=collectd.git diff --git a/src/tail.c b/src/tail.c index 708cd2a3..0ac8be7c 100644 --- a/src/tail.c +++ b/src/tail.c @@ -25,6 +25,7 @@ **/ #include "collectd.h" + #include "common.h" #include "plugin.h" #include "utils_tail_match.h" @@ -56,9 +57,9 @@ struct ctail_config_match_s }; typedef struct ctail_config_match_s ctail_config_match_t; -cu_tail_match_t **tail_match_list = NULL; -size_t tail_match_list_num = 0; -cdtime_t tail_match_list_intervals[255]; +static cu_tail_match_t **tail_match_list = NULL; +static size_t tail_match_list_num = 0; +static cdtime_t tail_match_list_intervals[255]; static int ctail_config_add_match_dstype (ctail_config_match_t *cm, oconfig_item_t *ci) @@ -84,6 +85,8 @@ static int ctail_config_add_match_dstype (ctail_config_match_t *cm, cm->flags |= UTILS_MATCH_CF_GAUGE_INC; else if (strcasecmp ("GaugeAdd", ci->values[0].value.string) == 0) cm->flags |= UTILS_MATCH_CF_GAUGE_ADD; + else if (strcasecmp ("GaugePersist", ci->values[0].value.string) == 0) + cm->flags |= UTILS_MATCH_CF_GAUGE_PERSIST; else cm->flags = 0; } @@ -137,11 +140,8 @@ static int ctail_config_add_match_dstype (ctail_config_match_t *cm, static int ctail_config_add_match (cu_tail_match_t *tm, const char *plugin_instance, oconfig_item_t *ci, cdtime_t interval) { - ctail_config_match_t cm; + ctail_config_match_t cm = { 0 }; int status; - int i; - - memset (&cm, '\0', sizeof (cm)); if (ci->values_num != 0) { @@ -149,7 +149,7 @@ static int ctail_config_add_match (cu_tail_match_t *tm, } status = 0; - for (i = 0; i < ci->children_num; i++) + for (int i = 0; i < ci->children_num; i++) { oconfig_item_t *option = ci->children + i; @@ -224,7 +224,6 @@ static int ctail_config_add_file (oconfig_item_t *ci) cdtime_t interval = 0; char *plugin_instance = NULL; int num_matches = 0; - int i; if ((ci->values_num != 1) || (ci->values[0].type != OCONFIG_TYPE_STRING)) { @@ -240,7 +239,7 @@ static int ctail_config_add_file (oconfig_item_t *ci) return (-1); } - for (i = 0; i < ci->children_num; i++) + for (int i = 0; i < ci->children_num; i++) { oconfig_item_t *option = ci->children + i; int status = 0; @@ -279,7 +278,7 @@ static int ctail_config_add_file (oconfig_item_t *ci) { cu_tail_match_t **temp; - temp = (cu_tail_match_t **) realloc (tail_match_list, + temp = realloc (tail_match_list, sizeof (cu_tail_match_t *) * (tail_match_list_num + 1)); if (temp == NULL) { @@ -299,9 +298,7 @@ static int ctail_config_add_file (oconfig_item_t *ci) static int ctail_config (oconfig_item_t *ci) { - int i; - - for (i = 0; i < ci->children_num; i++) + for (int i = 0; i < ci->children_num; i++) { oconfig_item_t *option = ci->children + i; @@ -332,10 +329,7 @@ static int ctail_read (user_data_t *ud) static int ctail_init (void) { - struct timespec cb_interval; char str[255]; - user_data_t ud; - size_t i; if (tail_match_list_num == 0) { @@ -343,14 +337,14 @@ static int ctail_init (void) return (-1); } - memset(&ud, '\0', sizeof(ud)); - - for (i = 0; i < tail_match_list_num; i++) + for (size_t i = 0; i < tail_match_list_num; i++) { - ud.data = (void *)tail_match_list[i]; ssnprintf(str, sizeof(str), "tail-%zu", i); - CDTIME_T_TO_TIMESPEC (tail_match_list_intervals[i], &cb_interval); - plugin_register_complex_read (NULL, str, ctail_read, &cb_interval, &ud); + + plugin_register_complex_read (NULL, str, ctail_read, tail_match_list_intervals[i], + &(user_data_t) { + .data = tail_match_list[i], + }); } return (0); @@ -358,9 +352,7 @@ static int ctail_init (void) static int ctail_shutdown (void) { - size_t i; - - for (i = 0; i < tail_match_list_num; i++) + for (size_t i = 0; i < tail_match_list_num; i++) { tail_match_destroy (tail_match_list[i]); tail_match_list[i] = NULL;