X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fsmart.c;h=373839e13fb7ea565cdcf68685c7b0b5d985cc0a;hb=a726d25c36e8eb73000148c955f5002a66cff53c;hp=eb6f1de8509b966a79268d657e8c5d78ec138788;hpb=2079ee1517e34de372f58e7e2267ad5c71a8a41f;p=collectd.git diff --git a/src/smart.c b/src/smart.c index eb6f1de8..373839e1 100644 --- a/src/smart.c +++ b/src/smart.c @@ -70,14 +70,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)); @@ -90,19 +86,20 @@ static void smart_handle_disk_attribute(SkDisk *d, const SkSmartAttributeParsedData *a, 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; + + 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));