From 3949692e4d9061acb8cebcd002e2829dd085eaf5 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Mon, 27 Apr 2009 14:00:39 +0000 Subject: Fix existing address detection. --- dhcpcd.c | 2 +- net.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dhcpcd.c b/dhcpcd.c index 11107daf..e4f0c511 100644 --- a/dhcpcd.c +++ b/dhcpcd.c @@ -562,7 +562,7 @@ handle_dhcp(struct interface *iface, struct dhcp_message **dhcpp) /* If the interface already has the address configured * then we can't ARP for duplicate detection. */ addr.s_addr = state->offer->yiaddr; - if (!has_address(iface->name, &addr, NULL)) { + if (has_address(iface->name, &addr, NULL) != 1) { state->claims = 0; state->probes = 0; state->conflicts = 0; diff --git a/net.c b/net.c index 432398d1..bce10d19 100644 --- a/net.c +++ b/net.c @@ -375,8 +375,8 @@ do_address(const char *ifname, if (ifa->ifa_addr->sa_family != AF_INET || strcmp(ifa->ifa_name, ifname) != 0) continue; - a = (const struct sockaddr_in *)(void *)&ifa->ifa_addr; - n = (const struct sockaddr_in *)(void *)&ifa->ifa_netmask; + a = (const struct sockaddr_in *)(void *)ifa->ifa_addr; + n = (const struct sockaddr_in *)(void *)ifa->ifa_netmask; if (ifa->ifa_flags & IFF_POINTOPOINT) d = (const struct sockaddr_in *)(void *) &ifa->ifa_dstaddr; -- cgit v1.2.3