summaryrefslogtreecommitdiffstats
path: root/if-bsd.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2008-03-30 08:26:34 +0000
committerRoy Marples <roy@marples.name>2008-03-30 08:26:34 +0000
commit0a204e3b9886bd2a88084a5d5796a997ca610c84 (patch)
treecc5383ddb4f49e86595f5820da51d995d98e4ef9 /if-bsd.c
parentf828cecf36a0b8457546b09963d16e192e5936e4 (diff)
downloaddhcpcd-0a204e3b9886bd2a88084a5d5796a997ca610c84.tar.xz
Pointless looping in bpf.packet, as pointed out by D. Young.
Diffstat (limited to 'if-bsd.c')
-rw-r--r--if-bsd.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/if-bsd.c b/if-bsd.c
index 9c7cc6e4..c6c64681 100644
--- a/if-bsd.c
+++ b/if-bsd.c
@@ -81,18 +81,19 @@ if_address(const char *ifname, const struct in_addr *address,
_s.sa = &_var; \
_s.sin->sin_family = AF_INET; \
_s.sin->sin_len = sizeof(*_s.sin); \
- memcpy(&_s.sin->sin_addr, &_addr, sizeof(_s.sin->sin_addr));
+ memcpy(&_s.sin->sin_addr, _addr, sizeof(_s.sin->sin_addr));
- ADDADDR(ifa.ifra_addr, *address);
- ADDADDR(ifa.ifra_mask, *netmask);
- if (action >= 0)
- ADDADDR(ifa.ifra_broadaddr, *broadcast);
+ ADDADDR(ifa.ifra_addr, address);
+ ADDADDR(ifa.ifra_mask, netmask);
+ if (action >= 0) {
+ ADDADDR(ifa.ifra_broadaddr, broadcast);
+ }
#undef ADDADDR
if (action < 0)
retval = ioctl(s, SIOCDIFADDR, &ifa);
else
- retval = ioctl(s, SIOCDIFADDR, &ifa);
+ retval = ioctl(s, SIOCAIFADDR, &ifa);
close(s);
return retval;
}
@@ -145,12 +146,12 @@ if_route(const char *ifname, const struct in_addr *destination,
memset (&su, 0, sizeof(su)); \
su.sin.sin_family = AF_INET; \
su.sin.sin_len = sizeof(su.sin); \
- memcpy (&su.sin.sin_addr, &_addr, sizeof(su.sin.sin_addr)); \
+ memcpy (&su.sin.sin_addr, _addr, sizeof(su.sin.sin_addr)); \
l = SA_SIZE (&(su.sa)); \
memcpy (bp, &(su), l); \
bp += l;
- ADDADDR(*destination);
+ ADDADDR(destination);
if (netmask->s_addr == INADDR_BROADCAST ||
gateway->s_addr == INADDR_ANY)
@@ -176,10 +177,10 @@ if_route(const char *ifname, const struct in_addr *destination,
free(hwaddr);
} else {
rtm.hdr.rtm_flags |= RTF_GATEWAY;
- ADDADDR(*gateway);
+ ADDADDR(gateway);
}
- ADDADDR(*netmask);
+ ADDADDR(netmask);
#undef ADDADDR
rtm.hdr.rtm_msglen = l = bp - (char *)&rtm;