From: Florian Forster Date: Mon, 7 Nov 2016 07:52:38 +0000 (+0100) Subject: Merge branch 'collectd-5.6' X-Git-Tag: collectd-5.7.0~36 X-Git-Url: https://git.octo.it/?p=collectd.git;a=commitdiff_plain;h=41288c6a9ed050b41ad47184aa1b53668c3588cc Merge branch 'collectd-5.6' --- 41288c6a9ed050b41ad47184aa1b53668c3588cc diff --cc src/apcups.c index 937f2a06,70e7fcea..50c45e7b --- a/src/apcups.c +++ b/src/apcups.c @@@ -414,13 -415,21 +415,15 @@@ static int apcups_config (oconfig_item_ return (0); } /* int apcups_config */ - static void apc_submit_generic (const char *type, const char *type_inst, double value) + static void apc_submit_generic (const char *type, const char *type_inst, gauge_t value) { - value_t values[1]; -- value_list_t vl = VALUE_LIST_INIT; - + if (isnan (value)) + return; - values[0].gauge = value; - - vl.values = values; ++ value_list_t vl = VALUE_LIST_INIT; + vl.values = &(value_t) { .gauge = value }; vl.values_len = 1; - sstrncpy (vl.host, hostname_g, sizeof (vl.host)); sstrncpy (vl.plugin, "apcups", sizeof (vl.plugin)); - sstrncpy (vl.plugin_instance, "", sizeof (vl.plugin_instance)); sstrncpy (vl.type, type, sizeof (vl.type)); sstrncpy (vl.type_instance, type_inst, sizeof (vl.type_instance)); diff --cc src/modbus.c index a7d1b582,473a4ee4..589ce90f --- a/src/modbus.c +++ b/src/modbus.c @@@ -470,12 -471,9 +471,11 @@@ static int mb_read_data (mb_host_t *hos } else if (host->conntype == MBCONN_TCP) { + /* getpeername() is used only to determine if the socket is connected, not + * because we're really interested in the peer's IP address. */ - status = getpeername (modbus_get_socket (host->connection), - (struct sockaddr *) &(struct sockaddr_storage) { 0 }, - &(socklen_t) { sizeof (struct sockaddr_storage) }); - if (status != 0) + if (getpeername (modbus_get_socket (host->connection), + (void *) &(struct sockaddr_storage) {0}, + &(socklen_t) {sizeof(struct sockaddr_storage)}) != 0) status = errno; }