From 813f6a0064e76fdc8d509ddfbd4d3870d7027850 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 10 Dec 2009 16:13:09 +0300 Subject: ospf6d: fix warnings from recent prefix bit commit * lib/prefix.h * prefix6_bit(): add IPv6 wrapper for prefix_bit() * ospf6d/ospf6_lsdb.c * ospf6_lsdb_type_router_head(): employ prefix6_bit() * ospf6_lsdb_type_head(): idem --- lib/prefix.h | 6 ++++++ ospf6d/ospf6_lsdb.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/prefix.h b/lib/prefix.h index d3707209..a7598b7e 100644 --- a/lib/prefix.h +++ b/lib/prefix.h @@ -137,6 +137,12 @@ prefix_bit (const u_char *prefix, const u_char prefixlen) return (prefix[offset] >> shift) & 1; } +static inline unsigned int +prefix6_bit (const struct in6_addr *prefix, const u_char prefixlen) +{ + return prefix_bit((const u_char *) &prefix->s6_addr, prefixlen); +} + /* Prototypes. */ extern int afi2family (int); extern int family2afi (int); diff --git a/ospf6d/ospf6_lsdb.c b/ospf6d/ospf6_lsdb.c index d2e3e04c..280bdf95 100644 --- a/ospf6d/ospf6_lsdb.c +++ b/ospf6d/ospf6_lsdb.c @@ -381,7 +381,7 @@ ospf6_lsdb_type_router_head (u_int16_t type, u_int32_t adv_router, /* Walk down tree. */ while (node && node->p.prefixlen <= key.prefixlen && prefix_match (&node->p, (struct prefix *) &key)) - node = node->link[prefix_bit(&key.prefix, node->p.prefixlen)]; + node = node->link[prefix6_bit(&key.prefix, node->p.prefixlen)]; if (node) route_lock_node (node); @@ -435,7 +435,7 @@ ospf6_lsdb_type_head (u_int16_t type, struct ospf6_lsdb *lsdb) node = lsdb->table->top; while (node && node->p.prefixlen <= key.prefixlen && prefix_match (&node->p, (struct prefix *) &key)) - node = node->link[prefix_bit(&key.prefix, node->p.prefixlen)]; + node = node->link[prefix6_bit(&key.prefix, node->p.prefixlen)]; if (node) route_lock_node (node); -- cgit v1.2.1