]> jfr.im git - irc/quakenet/newserv.git/commitdiff
add is_normalized_ipmask
authorPaul <redacted>
Thu, 25 Dec 2008 00:39:16 +0000 (00:39 +0000)
committerPaul <redacted>
Thu, 25 Dec 2008 00:39:16 +0000 (00:39 +0000)
--HG--
branch : paul

patricia/patricia.h
patricia/patricialib.c

index ab7093625b95783da32ef92488bd533fcd2d9b5b..d5861956aeb5a5cf6135bfc2c65389d792428f2c 100644 (file)
@@ -98,6 +98,7 @@ void releasenodeext(int index);
 
 void node_increment_usercount( patricia_node_t *node);
 void node_decrement_usercount( patricia_node_t *node);
+int is_normalized_ipmask( struct irc_in_addr *sin, unsigned char bitlen );
 
 /* alloc */
 void freeprefix (prefix_t *prefix);
index 738929a0c601e294e4aa84a0b285d7105cffae06..009b1dbcb704cbf96c42e7fadb40a970ede129f9 100644 (file)
@@ -586,3 +586,14 @@ void node_decrement_usercount( patricia_node_t *node) {
     node=node->parent;
   }
 }
+
+int is_normalized_ipmask( struct irc_in_addr *sin, unsigned char bitlen ) {
+  u_char *addr = (u_char *)sin;
+
+  while (bitlen < PATRICIA_MAXBITS) {
+    if (is_bit_set(addr,bitlen))
+       return 0;
+    bitlen++;
+  }
+  return 1;
+}