X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrdtool.c;h=bebf468c3c83ce8158a082207c7c950382bf0352;hb=d3db12b73a1c3c17a2dfc0ba96ec99490088c957;hp=2f28329f0fbef43f17c70b3b7136a6b4f187e2b8;hpb=7fc4c1f412c4002b787b5ce24b08e3091ced08a5;p=collectd.git diff --git a/src/rrdtool.c b/src/rrdtool.c index 2f28329f..bebf468c 100644 --- a/src/rrdtool.c +++ b/src/rrdtool.c @@ -227,7 +227,7 @@ static int value_list_to_string_multiple (char *buffer, int buffer_len, ":%llu", vl->values[i].counter); else if (ds->ds[i].type == DS_TYPE_GAUGE) status = ssnprintf (buffer + offset, buffer_len - offset, - ":%lf", vl->values[i].gauge); + ":"GAUGE_FORMAT, 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); @@ -262,7 +262,7 @@ static int value_list_to_string (char *buffer, int buffer_len, (unsigned) tt, vl->values[0].derive); break; case DS_TYPE_GAUGE: - status = ssnprintf (buffer, buffer_len, "%u:%lf", + status = ssnprintf (buffer, buffer_len, "%u:"GAUGE_FORMAT, (unsigned) tt, vl->values[0].gauge); break; case DS_TYPE_COUNTER: @@ -290,6 +290,21 @@ static int value_list_to_filename (char *buffer, size_t buffer_size, int status; size_t len; + if (datadir != NULL) + { + size_t datadir_len = strlen (datadir) + 1; + + if (datadir_len >= buffer_size) + return (ENOMEM); + + sstrncpy (buffer, datadir, buffer_size); + buffer[datadir_len - 1] = '/'; + buffer[datadir_len] = 0; + + buffer += datadir_len; + buffer_size -= datadir_len; + } + status = FORMAT_VL (buffer, buffer_size, vl); if (status != 0) return (status);