X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Ftable.c;h=9641c759b2b059a010492b39d6e583196b8038fd;hb=9f6f901889d4c9f594b5ae1fd0f449fcdd2d8fe3;hp=ebd1c4cf75fcb18ec39193a29905a4942a79d496;hpb=eeb86d2d88b08cfc2f0701ca9b7a77d6731c7b94;p=collectd.git diff --git a/src/table.c b/src/table.c index ebd1c4cf..9641c759 100644 --- a/src/table.c +++ b/src/table.c @@ -279,6 +279,7 @@ static int tbl_config_table (oconfig_item_t *ci) log_err ("Table \"%s\" does not specify any separator.", tbl->file); status = 1; } + strunescape (tbl->sep, strlen (tbl->sep) + 1); if (NULL == tbl->instance) { tbl->instance = sstrdup (tbl->file); @@ -365,30 +366,6 @@ static int tbl_finish (tbl_t *tbl) return 0; } /* tbl_finish */ -static int tbl_parse_value (char *value, value_t *ret_value, - data_source_t ds) -{ - char *endptr = NULL; - - if (DS_TYPE_COUNTER == ds.type) - ret_value->counter = (counter_t)strtoll (value, &endptr, 0); - else if (DS_TYPE_GAUGE == ds.type) - ret_value->gauge = (gauge_t)strtod (value, &endptr); - else { - log_err ("tbl_parse_value: Invalid data source \"%s\" " - "(type = %i).", ds.name, ds.type); - return -1; - } - - if (value == endptr) { - log_err ("Failed to parse string as number: %s.", value); - return -1; - } - else if ((NULL != endptr) && ('\0' != *endptr)) - log_warn ("Ignoring trailing garbage after number: %s.", endptr); - return 0; -} /* tbl_parse_value */ - static int tbl_result_dispatch (tbl_t *tbl, tbl_result_t *res, char **fields, size_t fields_num) { @@ -406,7 +383,7 @@ static int tbl_result_dispatch (tbl_t *tbl, tbl_result_t *res, assert (res->values[i] < fields_num); value = fields[res->values[i]]; - if (0 != tbl_parse_value (value, &values[i], res->ds->ds[i])) + if (0 != parse_value (value, &values[i], res->ds->ds[i].type)) return -1; }