X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdaemon%2Ftypes_list.c;h=7eb3cb2fd0d473423740d3451763f991b1a85f4b;hb=b42b13fa519d5235c7b88dc3659ce6cef075e7e7;hp=b053157154cf74d18e012ed45152ddf73759233b;hpb=a6f29de68fe19614b0aa90e920e99d72cb0f4468;p=collectd.git diff --git a/src/daemon/types_list.c b/src/daemon/types_list.c index b0531571..7eb3cb2f 100644 --- a/src/daemon/types_list.c +++ b/src/daemon/types_list.c @@ -26,7 +26,7 @@ #include "collectd.h" -#include "common.h" +#include "utils/common/common.h" #include "configfile.h" #include "plugin.h" @@ -39,8 +39,8 @@ static int parse_ds(data_source_t *dsrc, char *buf, size_t buf_len) { int fields_num; if (buf_len < 11) { - ERROR("parse_ds: (buf_len = %zu) < 11", buf_len); - return (-1); + ERROR("parse_ds: (buf_len = %" PRIsz ") < 11", buf_len); + return -1; } if (buf[buf_len - 1] == ',') { @@ -61,7 +61,7 @@ static int parse_ds(data_source_t *dsrc, char *buf, size_t buf_len) { if (fields_num != 4) { ERROR("parse_ds: (fields_num = %i) != 4", fields_num); - return (-1); + return -1; } sstrncpy(dsrc->name, fields[0], sizeof(dsrc->name)); @@ -77,7 +77,7 @@ static int parse_ds(data_source_t *dsrc, char *buf, size_t buf_len) { else { ERROR("(fields[1] = %s) != (GAUGE || COUNTER || DERIVE || ABSOLUTE)", fields[1]); - return (-1); + return -1; } if (strcasecmp(fields[2], "U") == 0) @@ -90,14 +90,12 @@ static int parse_ds(data_source_t *dsrc, char *buf, size_t buf_len) { else dsrc->max = atof(fields[3]); - return (0); + return 0; } /* int parse_ds */ static void parse_line(char *buf) { char *fields[64]; size_t fields_num; - data_set_t *ds; - fields_num = strsplit(buf, fields, 64); if (fields_num < 2) return; @@ -106,33 +104,27 @@ static void parse_line(char *buf) { if (fields[0][0] == '#') return; - ds = calloc(1, sizeof(*ds)); - if (ds == NULL) - return; + data_set_t ds = {{0}}; - sstrncpy(ds->type, fields[0], sizeof(ds->type)); + sstrncpy(ds.type, fields[0], sizeof(ds.type)); - ds->ds_num = fields_num - 1; - ds->ds = (data_source_t *)calloc(ds->ds_num, sizeof(data_source_t)); - if (ds->ds == NULL) { - sfree(ds); + ds.ds_num = fields_num - 1; + ds.ds = calloc(ds.ds_num, sizeof(*ds.ds)); + if (ds.ds == NULL) return; - } - for (size_t i = 0; i < ds->ds_num; i++) - if (parse_ds(ds->ds + i, fields[i + 1], strlen(fields[i + 1])) != 0) { - ERROR("types_list: parse_line: Cannot parse data source #%zu " - "of data set %s", - i, ds->type); - sfree(ds->ds); - sfree(ds); + for (size_t i = 0; i < ds.ds_num; i++) + if (parse_ds(ds.ds + i, fields[i + 1], strlen(fields[i + 1])) != 0) { + ERROR("types_list: parse_line: Cannot parse data source #%" PRIsz + " of data set %s", + i, ds.type); + sfree(ds.ds); return; } - plugin_register_data_set(ds); + plugin_register_data_set(&ds); - sfree(ds->ds); - sfree(ds); + sfree(ds.ds); } /* void parse_line */ static void parse_file(FILE *fh) { @@ -170,16 +162,14 @@ int read_types_list(const char *file) { FILE *fh; if (file == NULL) - return (-1); + return -1; fh = fopen(file, "r"); if (fh == NULL) { - char errbuf[1024]; fprintf(stderr, "Failed to open types database `%s': %s.\n", file, - sstrerror(errno, errbuf, sizeof(errbuf))); - ERROR("Failed to open types database `%s': %s", file, - sstrerror(errno, errbuf, sizeof(errbuf))); - return (-1); + STRERRNO); + ERROR("Failed to open types database `%s': %s", file, STRERRNO); + return -1; } parse_file(fh); @@ -189,5 +179,5 @@ int read_types_list(const char *file) { DEBUG("Done parsing `%s'", file); - return (0); + return 0; } /* int read_types_list */