From: Roy Marples Date: Sat, 5 Jul 2014 19:47:22 +0000 (+0000) Subject: We should use NBBY rather than a magic 8. X-Git-Tag: v6.4.1~21 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=aede38899382ad1bf6cb980b339a7a31cbc7afa4;p=thirdparty%2Fdhcpcd.git We should use NBBY rather than a magic 8. --- diff --git a/dhcp.c b/dhcp.c index 3cea1cca..ee1a30f8 100644 --- a/dhcp.c +++ b/dhcp.c @@ -294,7 +294,7 @@ decode_rfc3442(char *out, size_t len, const uint8_t *p, size_t pl) errno = EINVAL; return -1; } - ocets = (cidr + 7) / 8; + ocets = (cidr + 7) / NBBY; if (!out) { p += 4 + ocets; bytes += ((4 * 4) * 2) + 4; @@ -365,7 +365,7 @@ decode_rfc3442_rt(const uint8_t *data, size_t dl) } TAILQ_INSERT_TAIL(routes, rt, next); - ocets = (cidr + 7) / 8; + ocets = (cidr + 7) / NBBY; /* If we have ocets then we have a destination and netmask */ if (ocets > 0) { memcpy(&rt->dest.s_addr, p, ocets); diff --git a/dhcp6.c b/dhcp6.c index 98158eb1..40c4d49e 100644 --- a/dhcp6.c +++ b/dhcp6.c @@ -546,8 +546,8 @@ dhcp6_makemessage(struct interface *ifp) if (sla) len += sizeof(*o) + 1 + ((sla->prefix_len - - ap->prefix_len - 1) / 8) + - 1; + ap->prefix_len - 1) / NBBY) + + 1; } } else if (!(ifo->options & DHCPCD_PFXDLGONLY)) @@ -713,16 +713,16 @@ dhcp6_makemessage(struct interface *ifp) uint8_t *pp; el = ((sla->prefix_len - - ap->prefix_len - 1) / 8) + 1; + ap->prefix_len - 1) / NBBY) + 1; eo = D6_NEXT_OPTION(so); eo->code = htons(D6_OPTION_PD_EXCLUDE); eo->len = el + 1; p = D6_OPTION_DATA(eo); *p++ = (uint8_t)sla->prefix_len; pp = addr.s6_addr; - pp += (ap->prefix_len - 1) / 8; - u8 = ap->prefix_len % 8; - if (u8 % 8 == 0) + pp += (ap->prefix_len - 1) / NBBY; + u8 = ap->prefix_len % NBBY; + if (u8 % NBBY == 0) pp++; else { *p = (uint8_t)(*pp++ << u8); @@ -1752,7 +1752,7 @@ dhcp6_findpd(struct interface *ifp, const uint8_t *iaid, if (ex) { off = ntohs(ex->len); if (off < 2) { - syslog(LOG_ERR, "%s: trunaced PD Exclude", + syslog(LOG_ERR, "%s: truncated PD Exclude", ifp->name); ex = NULL; } diff --git a/if-options.h b/if-options.h index 387cd7c3..39485e4d 100644 --- a/if-options.h +++ b/if-options.h @@ -28,6 +28,7 @@ #ifndef IF_OPTIONS_H #define IF_OPTIONS_H +#include #include #include #include @@ -134,13 +135,13 @@ struct vivco { struct if_options { uint8_t iaid[4]; int metric; - uint8_t requestmask[256 / 8]; - uint8_t requiremask[256 / 8]; - uint8_t nomask[256 / 8]; - uint8_t requestmask6[(UINT16_MAX + 1) / 8]; - uint8_t requiremask6[(UINT16_MAX + 1) / 8]; - uint8_t nomask6[(UINT16_MAX + 1) / 8]; - uint8_t dstmask[256 / 8]; + uint8_t requestmask[256 / NBBY]; + uint8_t requiremask[256 / NBBY]; + uint8_t nomask[256 / NBBY]; + uint8_t requestmask6[(UINT16_MAX + 1) / NBBY]; + uint8_t requiremask6[(UINT16_MAX + 1) / NBBY]; + uint8_t nomask6[(UINT16_MAX + 1) / NBBY]; + uint8_t dstmask[256 / NBBY]; uint32_t leasetime; time_t timeout; time_t reboot; diff --git a/ipv4.c b/ipv4.c index 23074e89..68557fd0 100644 --- a/ipv4.c +++ b/ipv4.c @@ -82,13 +82,13 @@ inet_cidrtoaddr(int cidr, struct in_addr *addr) errno = EINVAL; return -1; } - ocets = (cidr + 7) / 8; + ocets = (cidr + 7) / NBBY; addr->s_addr = 0; if (ocets > 0) { memset(&addr->s_addr, 255, (size_t)ocets - 1); memset((unsigned char *)&addr->s_addr + (ocets - 1), - (256 - (1 << (32 - cidr) % 8)), 1); + (256 - (1 << (32 - cidr) % NBBY)), 1); } return 0;