diff options
author | friehm <friehm@openbsd.org> | 2017-07-24 11:00:01 +0000 |
---|---|---|
committer | friehm <friehm@openbsd.org> | 2017-07-24 11:00:01 +0000 |
commit | 064707de76c63b6aa1383e86b88718756cccc566 (patch) | |
tree | 20952e81a606127c1617f689805737f28ea66f91 /usr.sbin/ripd | |
parent | Reduce NET_LOCK() contention by moving the linktstate and watchdog (diff) | |
download | wireguard-openbsd-064707de76c63b6aa1383e86b88718756cccc566.tar.xz wireguard-openbsd-064707de76c63b6aa1383e86b88718756cccc566.zip |
Unify ROUNDUP macros for parsing route messages.
Use the macro from route(8) / ospf6d(8) since it works also with argument 0.
OK claudio@
Diffstat (limited to 'usr.sbin/ripd')
-rw-r--r-- | usr.sbin/ripd/kroute.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/usr.sbin/ripd/kroute.c b/usr.sbin/ripd/kroute.c index 6a602c6e506..424bcfb8aba 100644 --- a/usr.sbin/ripd/kroute.c +++ b/usr.sbin/ripd/kroute.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kroute.c,v 1.31 2015/09/27 17:32:36 stsp Exp $ */ +/* $OpenBSD: kroute.c,v 1.32 2017/07/24 11:00:01 friehm Exp $ */ /* * Copyright (c) 2004 Esben Norby <norby@openbsd.org> @@ -632,8 +632,8 @@ prefixlen2mask(u_int8_t prefixlen) return (htonl(0xffffffff << (32 - prefixlen))); } -#define ROUNDUP(a, size) \ - (((a) & ((size) - 1)) ? (1 + ((a) | ((size) - 1))) : (a)) +#define ROUNDUP(a) \ + ((a) > 0 ? (1 + (((a) - 1) | (sizeof(long) - 1))) : sizeof(long)) void get_rtaddrs(int addrs, struct sockaddr *sa, struct sockaddr **rti_info) @@ -644,7 +644,7 @@ get_rtaddrs(int addrs, struct sockaddr *sa, struct sockaddr **rti_info) if (addrs & (1 << i)) { rti_info[i] = sa; sa = (struct sockaddr *)((char *)(sa) + - ROUNDUP(sa->sa_len, sizeof(long))); + ROUNDUP(sa->sa_len)); } else rti_info[i] = NULL; } |