X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrdtool.c;h=a361501d0ff1a8e596143d2326684b3d409d86fb;hb=25ac639c505394e4ae9600ee62f5d5aeea97c6d4;hp=243a8c8ff90feff941e5d20e179f63ef2e15f815;hpb=f9666730f0bde464c27b794810b74eed7741e073;p=collectd.git diff --git a/src/rrdtool.c b/src/rrdtool.c index 243a8c8f..a361501d 100644 --- a/src/rrdtool.c +++ b/src/rrdtool.c @@ -204,15 +204,23 @@ 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) status = ssnprintf (buffer + offset, buffer_len - offset, ":%llu", vl->values[i].counter); - else + else if (ds->ds[i].type == DS_TYPE_GAUGE) status = ssnprintf (buffer + offset, buffer_len - offset, ":%lf", vl->values[i].gauge); + else if (ds->ds[i].type == DS_TYPE_DERIVE) + status = ssnprintf (buffer + offset, buffer_len - offset, + ":%llu", vl->values[i].derive); + else /*if (ds->ds[i].type == DS_TYPE_ABSOLUTE) */ + status = ssnprintf (buffer + offset, buffer_len - offset, + ":%llu", vl->values[i].absolute); if ((status < 1) || (status >= (buffer_len - offset))) return (-1);