diff options
| author | Roy Marples <roy@marples.name> | 2009-04-27 14:00:39 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2009-04-27 14:00:39 +0000 |
| commit | 3949692e4d9061acb8cebcd002e2829dd085eaf5 (patch) | |
| tree | 9cd8395c940277b4543ca76b72f7953e9d08cd2b | |
| parent | 075c98728215caccf4e408fbbf6bd95f66607f3b (diff) | |
| download | dhcpcd-3949692e4d9061acb8cebcd002e2829dd085eaf5.tar.xz | |
Fix existing address detection.
| -rw-r--r-- | dhcpcd.c | 2 | ||||
| -rw-r--r-- | net.c | 4 |
2 files changed, 3 insertions, 3 deletions
@@ -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; @@ -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; |
