summaryrefslogtreecommitdiffstats
path: root/net.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2008-10-18 16:41:19 +0000
committerRoy Marples <roy@marples.name>2008-10-18 16:41:19 +0000
commiteae4f5b4724b0a237bdf036479435e553b6ecd90 (patch)
tree2c080a55cb7df85b7bd92c0ba2d636cd37d85c75 /net.c
parentaec7d71ddb2d4236c7db2fe79350274ca26e178f (diff)
downloaddhcpcd-eae4f5b4724b0a237bdf036479435e553b6ecd90.tar.xz
Get INFORM support almost working again.
Diffstat (limited to 'net.c')
-rw-r--r--net.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/net.c b/net.c
index f99251b5..6d269056 100644
--- a/net.c
+++ b/net.c
@@ -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;