X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fmodbus.c;h=82213d2c6b62ed21c11e035ad7f79a77c935b6e3;hb=4d370741101aeb037ae52f3529a4a0869e0dc08a;hp=db7d033d3f1c0be05cb0f5d08623a369390f0d8e;hpb=c7d859191d8fbfc129dea8cfaf9e13e78fd6642c;p=collectd.git diff --git a/src/modbus.c b/src/modbus.c index db7d033d..82213d2c 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; }