X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fsmart.c;h=285eb860e480d7c5944658e793ca9b0a25088768;hb=c76419c0cf983f1ecd3d36aa236cc4e3f9cff733;hp=33b9751c2c72cff88fcce6500c4c6794d9c31afe;hpb=e0a35d57e56ec31e42b1aa984cb2038f570925e6;p=collectd.git diff --git a/src/smart.c b/src/smart.c index 33b9751c..285eb860 100644 --- a/src/smart.c +++ b/src/smart.c @@ -25,6 +25,7 @@ **/ #include "collectd.h" + #include "common.h" #include "plugin.h" #include "utils_ignorelist.h" @@ -85,14 +86,10 @@ static int smart_config (const char *key, const char *value) static void smart_submit (const char *dev, const char *type, const char *type_inst, double value) { - value_t values[1]; value_list_t vl = VALUE_LIST_INIT; - values[0].gauge = value; - - vl.values = values; + vl.values = &(value_t) { .gauge = value }; vl.values_len = 1; - sstrncpy (vl.host, hostname_g, sizeof (vl.host)); sstrncpy (vl.plugin, "smart", sizeof (vl.plugin)); sstrncpy (vl.plugin_instance, dev, sizeof (vl.plugin_instance)); sstrncpy (vl.type, type, sizeof (vl.type)); @@ -105,18 +102,20 @@ static void smart_handle_disk_attribute(SkDisk *d, const SkSmartAttributeParsedD void* userdata) { const char *dev = userdata; - value_t values[4]; - value_list_t vl = VALUE_LIST_INIT; - if (!a->current_value_valid || !a->worst_value_valid) return; - values[0].gauge = a->current_value; - values[1].gauge = a->worst_value; - values[2].gauge = a->threshold_valid?a->threshold:0; - values[3].gauge = a->pretty_value; + if (!a->current_value_valid || !a->worst_value_valid) + return; + + value_list_t vl = VALUE_LIST_INIT; + value_t values[] = { + { .gauge = a->current_value }, + { .gauge = a->worst_value }, + { .gauge = a->threshold_valid ? a->threshold : 0 }, + { .gauge = a->pretty_value }, + }; vl.values = values; - vl.values_len = 4; - sstrncpy (vl.host, hostname_g, sizeof (vl.host)); + vl.values_len = STATIC_ARRAY_SIZE (values); sstrncpy (vl.plugin, "smart", sizeof (vl.plugin)); sstrncpy (vl.plugin_instance, dev, sizeof (vl.plugin_instance)); sstrncpy (vl.type, "smart_attribute", sizeof (vl.type));