diff options
| author | Roy Marples <roy@marples.name> | 2008-10-18 16:41:19 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2008-10-18 16:41:19 +0000 |
| commit | eae4f5b4724b0a237bdf036479435e553b6ecd90 (patch) | |
| tree | 2c080a55cb7df85b7bd92c0ba2d636cd37d85c75 /net.c | |
| parent | aec7d71ddb2d4236c7db2fe79350274ca26e178f (diff) | |
| download | dhcpcd-eae4f5b4724b0a237bdf036479435e553b6ecd90.tar.xz | |
Get INFORM support almost working again.
Diffstat (limited to 'net.c')
| -rw-r--r-- | net.c | 12 |
1 files changed, 5 insertions, 7 deletions
@@ -287,9 +287,8 @@ do_interface(const char *ifname, char *buffer; struct ifreq *ifr; } ifreqs; - struct sockaddr_in address; + in_addr_t address, netmask; struct ifreq *ifr; - struct sockaddr_in netmask; if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) return -1; @@ -347,14 +346,13 @@ do_interface(const char *ifname, continue; memcpy(&netmask, &ifr->ifr_addr, sizeof(netmask)); if (act == 1) { - addr->s_addr = address.sin_addr.s_addr; - net->s_addr = netmask.sin_addr.s_addr; + addr->s_addr = address; + net->s_addr = netmask; retval = 1; break; } else { - if (address.sin_addr.s_addr == addr->s_addr && - (!net || - netmask.sin_addr.s_addr == net->s_addr)) + if (address == addr->s_addr && + (!net || netmask == net->s_addr)) { retval = 1; break; |
