diff options
-rw-r--r-- | lib/prefix.h | 10 | ||||
-rw-r--r-- | ripngd/ripng_nexthop.h | 13 |
2 files changed, 12 insertions, 11 deletions
diff --git a/lib/prefix.h b/lib/prefix.h index 45889e08..a1a0679c 100644 --- a/lib/prefix.h +++ b/lib/prefix.h @@ -156,6 +156,16 @@ union prefix46constptr /* Prefix's family member. */ #define PREFIX_FAMILY(p) ((p)->family) +/* glibc defines s6_addr32 to __in6_u.__u6_addr32 if __USE_{MISC || GNU} */ +#ifndef s6_addr32 +#if defined(SUNOS_5) +/* Some SunOS define s6_addr32 only to kernel */ +#define s6_addr32 _S6_un._S6_u32 +#else +#define s6_addr32 __u6_addr.__u6_addr32 +#endif /* SUNOS_5 */ +#endif /*s6_addr32*/ + /* Prototypes. */ extern int afi2family (afi_t); extern afi_t family2afi (int); diff --git a/ripngd/ripng_nexthop.h b/ripngd/ripng_nexthop.h index 7c041059..19bd32b5 100644 --- a/ripngd/ripng_nexthop.h +++ b/ripngd/ripng_nexthop.h @@ -41,17 +41,8 @@ extern void ripng_rte_send(struct list *ripng_rte_list, struct interface *ifp, * -1 if A < B **/ static inline int -addr6_cmp(struct in6_addr *A, struct in6_addr *B) { - -#ifndef s6_addr32 -#if defined(SUNOS_5) -/* Some SunOS define s6_addr32 only to kernel */ -#define s6_addr32 _S6_un._S6_u32 -#else -#define s6_addr32 __u6_addr.__u6_addr32 -#endif /* SUNOS_5 */ -#endif /*s6_addr32*/ - +addr6_cmp(struct in6_addr *A, struct in6_addr *B) +{ #define a(i) A->s6_addr32[i] #define b(i) B->s6_addr32[i] |