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));
static void handle_attribute(SkDisk *d, const SkSmartAttributeParsedData *a,
void *userdata) {
char const *name = 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, name, sizeof(vl.plugin_instance));
sstrncpy(vl.type, "smart_attribute", sizeof(vl.type));