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);
