X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrdcached.c;h=bca10be3e37eb5c662cfdb7a2556b7847636e8ab;hb=0d5c879672770e3b8a740727fb223a6febdeaa27;hp=326a8898622179c1ca741ba3d0f710f3a828d161;hpb=5a7145dd5626503f411a4aed87f30fc0f9689c90;p=collectd.git diff --git a/src/rrdcached.c b/src/rrdcached.c index 326a8898..bca10be3 100644 --- a/src/rrdcached.c +++ b/src/rrdcached.c @@ -75,7 +75,9 @@ static int value_list_to_string (char *buffer, int buffer_len, for (i = 0; i < ds->ds_num; i++) { if ((ds->ds[i].type != DS_TYPE_COUNTER) - && (ds->ds[i].type != DS_TYPE_GAUGE)) + && (ds->ds[i].type != DS_TYPE_GAUGE) + && (ds->ds[i].type != DS_TYPE_DERIVE) + && (ds->ds[i].type != DS_TYPE_ABSOLUTE)) return (-1); if (ds->ds[i].type == DS_TYPE_COUNTER) @@ -83,10 +85,19 @@ static int value_list_to_string (char *buffer, int buffer_len, status = ssnprintf (buffer + offset, buffer_len - offset, ":%llu", vl->values[i].counter); } - else /* if (ds->ds[i].type == DS_TYPE_GAUGE) */ + else if (ds->ds[i].type == DS_TYPE_GAUGE) { status = ssnprintf (buffer + offset, buffer_len - offset, - ":%lf", vl->values[i].gauge); + ":%f", vl->values[i].gauge); + } + else if (ds->ds[i].type == DS_TYPE_DERIVE) { + status = ssnprintf (buffer + offset, buffer_len - offset, + ":%"PRIi64, vl->values[i].derive); + } + else /* if (ds->ds[i].type == DS_TYPE_ABSOLUTE) */ { + status = ssnprintf (buffer + offset, buffer_len - offset, + ":%"PRIu64, vl->values[i].absolute); + } if ((status < 1) || (status >= (buffer_len - offset))) @@ -181,18 +192,14 @@ static int rc_config (const char *key, const char *value) } else if (strcasecmp ("CreateFiles", key) == 0) { - if ((strcasecmp ("false", value) == 0) - || (strcasecmp ("no", value) == 0) - || (strcasecmp ("off", value) == 0)) + if (IS_FALSE (value)) config_create_files = 0; else config_create_files = 1; } else if (strcasecmp ("CollectStatistics", key) == 0) { - if ((strcasecmp ("false", value) == 0) - || (strcasecmp ("no", value) == 0) - || (strcasecmp ("off", value) == 0)) + if (IS_FALSE (value)) config_collect_stats = 0; else config_collect_stats = 1;