X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fipmi.c;h=3267275dadac14d21f24a592658cd952cd829188;hb=f46301fdc32e9cd13a757dbc005d2b66d5188193;hp=8b957e50584d932b9dda3cfc6a1a76ed493c4714;hpb=69b8a9a1af204685dfdfaf1279a0f2928e0bbb32;p=collectd.git diff --git a/src/ipmi.c b/src/ipmi.c index 8b957e50..3267275d 100644 --- a/src/ipmi.c +++ b/src/ipmi.c @@ -24,6 +24,7 @@ **/ #include "collectd.h" + #include "common.h" #include "plugin.h" #include "utils_ignorelist.h" @@ -114,7 +115,6 @@ static void sensor_read_handler (ipmi_sensor_t *sensor, ipmi_states_t __attribute__((unused)) *states, void *user_data) { - value_t values[1]; value_list_t vl = VALUE_LIST_INIT; c_ipmi_sensor_list_t *list_item = (c_ipmi_sensor_list_t *)user_data; @@ -213,12 +213,9 @@ static void sensor_read_handler (ipmi_sensor_t *sensor, return; } - 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, "ipmi", sizeof (vl.plugin)); sstrncpy (vl.type, list_item->sensor_type, sizeof (vl.type)); sstrncpy (vl.type_instance, list_item->sensor_name, sizeof (vl.type_instance)); @@ -431,11 +428,9 @@ static int sensor_list_remove (ipmi_sensor_t *sensor) static int sensor_list_read_all (void) { - c_ipmi_sensor_list_t *list_item; - pthread_mutex_lock (&sensor_list_lock); - for (list_item = sensor_list; + for (c_ipmi_sensor_list_t *list_item = sensor_list; list_item != NULL; list_item = list_item->next) { @@ -547,7 +542,6 @@ static void domain_connection_change_handler (ipmi_domain_t *domain, static int thread_init (os_handler_t **ret_os_handler) { os_handler_t *os_handler; - ipmi_open_option_t open_option[1] = { 0 }; ipmi_con_t *smi_connection = NULL; ipmi_domain_id_t domain_id; int status; @@ -571,8 +565,12 @@ static int thread_init (os_handler_t **ret_os_handler) return (-1); } - open_option[0].option = IPMI_OPEN_OPTION_ALL; - open_option[0].ival = 1; + ipmi_open_option_t open_option[1] = { + [0] = { + .option = IPMI_OPEN_OPTION_ALL, + { .ival = 1 } + } + }; status = ipmi_open_domain ("mydomain", &smi_connection, /* num_con = */ 1, domain_connection_change_handler, /* user data = */ NULL,