diff options
author | luigi <luigi@FreeBSD.org> | 2004-04-13 11:22:22 +0000 |
---|---|---|
committer | luigi <luigi@FreeBSD.org> | 2004-04-13 11:22:22 +0000 |
commit | f83ca5e62d50a0c97e6da783970932ec1865b591 (patch) | |
tree | f81cadb2baf9d439843a5c8123c911c7980bb872 /sys/net/rtsock.c | |
parent | c3b6d70103e7aa78831dc2504b16900173fbc234 (diff) | |
download | FreeBSD-src-f83ca5e62d50a0c97e6da783970932ec1865b591.zip FreeBSD-src-f83ca5e62d50a0c97e6da783970932ec1865b591.tar.gz |
route.h: introduce a macro, SA_SIZE(struct sockaddr *) which returns
the space occupied by a struct sockaddr when passed through a
routing socket.
Use it to replace the macro ROUNDUP(int), that does the same but
is redefined by every file which uses it, courtesy of
the School of Cut'n'Paste Programming(TM).
(partial) userland changes to follow.
Diffstat (limited to 'sys/net/rtsock.c')
-rw-r--r-- | sys/net/rtsock.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index 7bdd0d7..9189aaa 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -556,9 +556,6 @@ rt_getmetrics(struct rt_metrics_lite *in, struct rt_metrics *out) #undef metric } -#define ROUNDUP(a) \ - ((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long)) - /* * Extract the addresses of the passed sockaddrs. * Do a little sanity checking so as to avoid bad memory references. @@ -567,9 +564,8 @@ rt_getmetrics(struct rt_metrics_lite *in, struct rt_metrics *out) static int rt_xaddrs(caddr_t cp, caddr_t cplim, struct rt_addrinfo *rtinfo) { -#define ADVANCE(x, n) (x += ROUNDUP((n)->sa_len)) - register struct sockaddr *sa; - register int i; + struct sockaddr *sa; + int i; for (i = 0; i < RTAX_MAX && cp < cplim; i++) { if ((rtinfo->rti_addrs & (1 << i)) == 0) @@ -593,10 +589,9 @@ rt_xaddrs(caddr_t cp, caddr_t cplim, struct rt_addrinfo *rtinfo) } /* accept it */ rtinfo->rti_info[i] = sa; - ADVANCE(cp, sa); + cp += SA_SIZE(sa); } return (0); -#undef ADVANCE } static struct mbuf * @@ -651,7 +646,7 @@ rt_msg1(int type, struct rt_addrinfo *rtinfo) if ((sa = rtinfo->rti_info[i]) == NULL) continue; rtinfo->rti_addrs |= (1 << i); - dlen = ROUNDUP(sa->sa_len); + dlen = SA_SIZE(sa); m_copyback(m, len, dlen, (caddr_t)sa); len += dlen; } @@ -701,7 +696,7 @@ again: if ((sa = rtinfo->rti_info[i]) == 0) continue; rtinfo->rti_addrs |= (1 << i); - dlen = ROUNDUP(sa->sa_len); + dlen = SA_SIZE(sa); if (cp) { bcopy((caddr_t)sa, cp, (unsigned)dlen); cp += dlen; |