From: Florian Forster Date: Wed, 1 Jul 2009 14:56:56 +0000 (+0200) Subject: perl plugin: Improve handling of DERIVE and ABSOLUTE data source types. X-Git-Tag: collectd-4.8.0~89 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=1061f214d8ec98341f3c3dba6a0ec3d37ce246ee;p=collectd.git perl plugin: Improve handling of DERIVE and ABSOLUTE data source types. --- diff --git a/src/perl.c b/src/perl.c index dd82ed94..50def1fc 100644 --- a/src/perl.c +++ b/src/perl.c @@ -269,7 +269,10 @@ static int hv2data_source (pTHX_ HV *hash, data_source_t *ds) if (NULL != (tmp = hv_fetch (hash, "type", 4, 0))) { ds->type = SvIV (*tmp); - if ((DS_TYPE_COUNTER != ds->type) && (DS_TYPE_GAUGE != ds->type) && (DS_TYPE_DERIVE != ds->type) && (DS_TYPE_ABSOLUTE != ds->type)) { + if ((DS_TYPE_COUNTER != ds->type) + && (DS_TYPE_GAUGE != ds->type) + && (DS_TYPE_DERIVE != ds->type) + && (DS_TYPE_ABSOLUTE != ds->type)) { log_err ("hv2data_source: Invalid DS type."); return -1; } @@ -646,9 +649,9 @@ static int value_list2hv (pTHX_ value_list_t *vl, data_set_t *ds, HV *hash) else if (DS_TYPE_GAUGE == ds->ds[i].type) val = newSVnv (vl->values[i].gauge); else if (DS_TYPE_DERIVE == ds->ds[i].type) - val = newSVnv (vl->values[i].derive); + val = newSViv (vl->values[i].derive); else if (DS_TYPE_ABSOLUTE == ds->ds[i].type) - val = newSVnv (vl->values[i].absolute); + val = newSViv (vl->values[i].absolute); if (NULL == av_store (values, i, val)) { av_undef (values);