X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Ftail_csv.c;h=ab8bf6d5958e557db327db5f02f93c76680bd7af;hp=2e3ac5f0bbd639a27e4f61b5d74143c9566eb3f6;hb=48efd3deb4c9139fd060ff3d289896e9031bcc7c;hpb=da9559cff40c0c7e1f0a7b309487eb133cb2b0a8 diff --git a/src/tail_csv.c b/src/tail_csv.c index 2e3ac5f0..ab8bf6d5 100644 --- a/src/tail_csv.c +++ b/src/tail_csv.c @@ -23,9 +23,9 @@ #include "collectd.h" -#include "common.h" /* auxiliary functions */ -#include "plugin.h" /* plugin_register_*, plugin_dispatch_values */ -#include "utils_tail.h" +#include "plugin.h" /* plugin_register_*, plugin_dispatch_values */ +#include "utils/common/common.h" /* auxiliary functions */ +#include "utils/tail/tail.h" #include #include @@ -50,14 +50,13 @@ struct instance_definition_s { cu_tail_t *tail; metric_definition_t **metric_list; size_t metric_list_len; - cdtime_t interval; ssize_t time_from; struct instance_definition_s *next; }; typedef struct instance_definition_s instance_definition_t; /* Private */ -static metric_definition_t *metric_head = NULL; +static metric_definition_t *metric_head; static int tcsv_submit(instance_definition_t *id, metric_definition_t *md, value_t v, cdtime_t t) { @@ -77,7 +76,6 @@ static int tcsv_submit(instance_definition_t *id, metric_definition_t *md, sstrncpy(vl.type_instance, md->instance, sizeof(vl.type_instance)); vl.time = t; - vl.interval = id->interval; return plugin_dispatch_values(&vl); } @@ -120,17 +118,17 @@ static int tcsv_read_metric(instance_definition_t *id, metric_definition_t *md, return tcsv_submit(id, md, v, t); } -static _Bool tcsv_check_index(ssize_t index, size_t fields_num, - char const *name) { +static bool tcsv_check_index(ssize_t index, size_t fields_num, + char const *name) { if (index < 0) - return 1; + return true; else if (((size_t)index) < fields_num) - return 1; + return true; ERROR("tail_csv plugin: Metric \"%s\": Request for index %zd when " - "only %zu fields are available.", + "only %" PRIsz " fields are available.", name, index, fields_num); - return 0; + return false; } static int tcsv_read_buffer(instance_definition_t *id, char *buffer, @@ -145,7 +143,7 @@ static int tcsv_read_buffer(instance_definition_t *id, char *buffer, while (buffer_size > 0) { if ((buffer[buffer_size - 1] == '\n') || (buffer[buffer_size - 1] == '\r')) { - buffer[buffer_size - 1] = 0; + buffer[buffer_size - 1] = '\0'; buffer_size--; } else { break; @@ -418,6 +416,7 @@ static int tcsv_config_add_file(oconfig_item_t *ci) { int status = 0; /* Registration variables */ + cdtime_t interval = 0; char cb_name[DATA_MAX_NAME_LEN]; id = calloc(1, sizeof(*id)); @@ -436,9 +435,6 @@ static int tcsv_config_add_file(oconfig_item_t *ci) { return status; } - /* Use default interval. */ - id->interval = plugin_get_interval(); - for (int i = 0; i < ci->children_num; ++i) { oconfig_item_t *option = ci->children + i; status = 0; @@ -448,7 +444,7 @@ static int tcsv_config_add_file(oconfig_item_t *ci) { else if (strcasecmp("Collect", option->key) == 0) status = tcsv_config_add_instance_collect(id, option); else if (strcasecmp("Interval", option->key) == 0) - cf_util_get_cdtime(option, &id->interval); + cf_util_get_cdtime(option, &interval); else if (strcasecmp("TimeFrom", option->key) == 0) status = tcsv_config_get_index(option, &id->time_from); else if (strcasecmp("Plugin", option->key) == 0) @@ -484,9 +480,10 @@ static int tcsv_config_add_file(oconfig_item_t *ci) { snprintf(cb_name, sizeof(cb_name), "tail_csv/%s", id->path); status = plugin_register_complex_read( - NULL, cb_name, tcsv_read, id->interval, + NULL, cb_name, tcsv_read, interval, &(user_data_t){ - .data = id, .free_func = tcsv_instance_definition_destroy, + .data = id, + .free_func = tcsv_instance_definition_destroy, }); if (status != 0) { ERROR("tail_csv plugin: Registering complex read function failed."); @@ -513,7 +510,7 @@ static int tcsv_config(oconfig_item_t *ci) { } /* int tcsv_config */ static int tcsv_init(void) { /* {{{ */ - static _Bool have_init = 0; + static bool have_init; metric_definition_t *md; if (have_init) @@ -532,7 +529,7 @@ static int tcsv_init(void) { /* {{{ */ md->type, md->name); continue; } else if (ds->ds_num != 1) { - ERROR("tail_csv plugin: The type \"%s\" has %zu data sources. " + ERROR("tail_csv plugin: The type \"%s\" has %" PRIsz " data sources. " "Only types with a single data source are supported.", ds->type, ds->ds_num); continue;