X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fmodbus.c;h=a7d1b582c76fb27a3007aaad27a83abc60bd0616;hb=1aa4295ba6875ceb02a7383237bc2485ffab9c1e;hp=db7d033d3f1c0be05cb0f5d08623a369390f0d8e;hpb=f0d468892e1c173b226f739be48291981473b4fb;p=collectd.git diff --git a/src/modbus.c b/src/modbus.c index db7d033d..a7d1b582 100644 --- a/src/modbus.c +++ b/src/modbus.c @@ -24,7 +24,6 @@ #include "common.h" #include "plugin.h" -#include "configfile.h" #include @@ -471,11 +470,11 @@ static int mb_read_data (mb_host_t *host, mb_slave_t *slave, /* {{{ */ } else if (host->conntype == MBCONN_TCP) { - struct sockaddr sockaddr; - socklen_t saddrlen = sizeof (sockaddr); - + /* 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), - &sockaddr, &saddrlen); + (struct sockaddr *) &(struct sockaddr_storage) { 0 }, + &(socklen_t) { sizeof (struct sockaddr_storage) }); if (status != 0) status = errno; } @@ -1004,18 +1003,17 @@ static int mb_config_add_host (oconfig_item_t *ci) /* {{{ */ if (status == 0) { - user_data_t ud; char name[1024]; - ud.data = host; - ud.free_func = host_free; - ssnprintf (name, sizeof (name), "modbus-%s", host->host); plugin_register_complex_read (/* group = */ NULL, name, /* callback = */ mb_read, /* interval = */ host->interval, - &ud); + &(user_data_t) { + .data = host, + .free_func = host_free, + }); } else {