]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospf6d: fix warnings from recent prefix bit commit
authorStephen Hemminger <shemminger@vyatta.com>
Thu, 10 Dec 2009 13:13:09 +0000 (16:13 +0300)
committerDenis Ovsienko <infrastation@yandex.ru>
Thu, 10 Dec 2009 13:13:09 +0000 (16:13 +0300)
* 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
ospf6d/ospf6_lsdb.c

index d37072098b4f3c832e16020a0c5278ad538b9549..a7598b7e64aa6edf2619225d71ad9470e814f084 100644 (file)
@@ -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);
index d2e3e04c486515d5909547adccb445b7a92bf7ba..280bdf957ac07891fdfd6b2a2930baef0cf43521 100644 (file)
@@ -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);