Index: ircd/s_externs.h =================================================================== RCS file: /usr/local/repository/irc/ircd/s_externs.h,v retrieving revision 1.3 diff -u -r1.3 s_externs.h --- ircd/s_externs.h 19 Sep 1999 23:58:46 -0000 1.3 +++ ircd/s_externs.h 3 Jul 2008 13:09:14 -0000 @@ -52,3 +52,4 @@ #include "support_ext.h" #include "version_ext.h" #include "whowas_ext.h" +#include "patricia_ext.h" Index: ircd/patricia.c =================================================================== RCS file: /usr/local/repository/irc/ircd/patricia.c,v retrieving revision 1.3 diff -u -r1.3 patricia.c --- ircd/patricia.c 10 Jun 2008 20:34:25 -0000 1.3 +++ ircd/patricia.c 3 Jul 2008 13:09:14 -0000 @@ -37,10 +37,9 @@ */ #include "os.h" #include "s_defines.h" -#define S_PATRICIA_C +#define PATRICIA_C #include "s_externs.h" -#undef S_PATRICIA_C -#include "patricia_ext.h" +#undef PATRICIA_C /* Enable both of these to debug patricia.c * #define PATRICIA_NOTYET 1 Index: ircd/patricia_ext.h =================================================================== RCS file: /usr/local/repository/irc/ircd/patricia_ext.h,v retrieving revision 1.1 diff -u -r1.1 patricia_ext.h --- ircd/patricia_ext.h 6 Jun 2008 23:29:55 -0000 1.1 +++ ircd/patricia_ext.h 3 Jul 2008 13:09:14 -0000 @@ -12,6 +12,12 @@ * some other things it could be used as a standalone API. */ +#ifndef PATRICIA_C +#define EXTERN extern +#else /* PATRICIA_C */ +#define EXTERN +#endif /* PATRICIA_C */ + #ifndef _PATRICIA_H #define _PATRICIA_H @@ -77,7 +83,7 @@ patricia_tree_t; -patricia_node_t *patricia_match_ip(patricia_tree_t *, struct IN_ADDR *); +EXTERN patricia_node_t *patricia_match_ip(patricia_tree_t *, struct IN_ADDR *); patricia_node_t *patricia_match_string(patricia_tree_t *, const char *); patricia_node_t *patricia_match_exact_string(patricia_tree_t *, const char *); patricia_node_t *patricia_search_exact(patricia_tree_t *, prefix_t *); @@ -85,10 +91,10 @@ patricia_node_t *patricia_search_best2(patricia_tree_t *, prefix_t *, int); patricia_node_t *patricia_lookup(patricia_tree_t *, prefix_t *); -void patricia_remove(patricia_tree_t *, patricia_node_t *); -patricia_tree_t *patricia_new(int); +EXTERN void patricia_remove(patricia_tree_t *, patricia_node_t *); +EXTERN patricia_tree_t *patricia_new(int); void patricia_clear(patricia_tree_t *, void_fn_t); -void patricia_destroy(patricia_tree_t *, void_fn_t); +EXTERN void patricia_destroy(patricia_tree_t *, void_fn_t); void patricia_process(patricia_tree_t *, void_fn_t); void patricia_init(void); @@ -97,7 +103,7 @@ prefix_t *ascii2prefix(int family, char *string); #endif patricia_node_t *patricia_make_and_lookup(patricia_tree_t *, const char *); -patricia_node_t *patricia_make_and_lookup_ip(patricia_tree_t *, struct IN_ADDR *, int); +EXTERN patricia_node_t *patricia_make_and_lookup_ip(patricia_tree_t *, struct IN_ADDR *, int); #define PATRICIA_MAXBITS 128 Index: ircd/list.c =================================================================== RCS file: /usr/local/repository/irc/ircd/list.c,v retrieving revision 1.45 diff -u -r1.45 list.c --- ircd/list.c 7 Jun 2008 21:36:07 -0000 1.45 +++ ircd/list.c 3 Jul 2008 13:09:14 -0000 @@ -570,7 +570,7 @@ { #ifdef ENABLE_CIDR_LIMITS if(tmp->ip_limits) - patricia_destroy(tmp->ip_limits); + patricia_destroy(tmp->ip_limits, NULL); #endif MyFree(tmp);