diff options
Diffstat (limited to 'src/ipset.c')
-rw-r--r-- | src/ipset.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/ipset.c b/src/ipset.c index 8c5b727..a315e86 100644 --- a/src/ipset.c +++ b/src/ipset.c @@ -121,7 +121,6 @@ static int new_add_to_ipset(const char *setname, const struct all_addr *ipaddr, struct my_nlattr *nested[2]; uint8_t proto; int addrsz = INADDRSZ; - ssize_t rc; #ifdef HAVE_IPV6 if (af == AF_INET6) @@ -162,9 +161,10 @@ static int new_add_to_ipset(const char *setname, const struct all_addr *ipaddr, nested[1]->nla_len = (void *)buffer + NL_ALIGN(nlh->nlmsg_len) - (void *)nested[1]; nested[0]->nla_len = (void *)buffer + NL_ALIGN(nlh->nlmsg_len) - (void *)nested[0]; - while ((rc = sendto(ipset_sock, buffer, nlh->nlmsg_len, 0, - (struct sockaddr *)&snl, sizeof(snl))) == -1 && retry_send()); - return rc; + while (retry_send(sendto(ipset_sock, buffer, nlh->nlmsg_len, 0, + (struct sockaddr *)&snl, sizeof(snl)))); + + return errno == 0 ? 0 : -1; } |