From 4c3f066ab83057e49cae6cb85b3234eeaac50f46 Mon Sep 17 00:00:00 2001
From: Keith Buck <mr_flea@esper.net>
Date: Thu, 6 Jan 2011 00:40:08 -0800
Subject: [PATCH] Move list-related isupport items to the list module itself.

---
 modules/m_list.c | 15 +++++++++++++++
 src/supported.c  | 10 ----------
 2 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/modules/m_list.c b/modules/m_list.c
index 9bb4d5e6..c94eb3db 100644
--- a/modules/m_list.c
+++ b/modules/m_list.c
@@ -43,6 +43,7 @@
 #include "s_conf.h"
 #include "s_newconf.h"
 #include "s_serv.h"
+#include "supported.h"
 #include "send.h"
 #include "msg.h"
 #include "parse.h"
@@ -84,12 +85,26 @@ static int _modinit(void)
 {
 	iterate_clients_ev = rb_event_add("safelist_iterate_clients", safelist_iterate_clients, NULL, 3);
 
+	/* ELIST=[tokens]:
+	 *
+	 * M = mask search
+	 * N = !mask search
+	 * U = user count search (< >)
+	 * C = creation time search (C> C<)
+	 * T = topic search (T> T<)
+	 */
+	add_isupport("SAFELIST", isupport_string, "");
+	add_isupport("ELIST", isupport_string, "CTU");
+
 	return 0;
 }
 
 static void _moddeinit(void)
 {
 	rb_event_delete(iterate_clients_ev);
+
+	delete_isupport("SAFELIST");
+	delete_isupport("ELIST");
 }
 
 static void safelist_check_cliexit(hook_data_client_exit * hdata)
diff --git a/src/supported.c b/src/supported.c
index 781ac2c3..ff59396d 100644
--- a/src/supported.c
+++ b/src/supported.c
@@ -71,14 +71,6 @@
  *
  *  All unknown/unlisted modes are treated as type D.
  */
-/* ELIST=[tokens]:
- *
- * M = mask search
- * N = !mask search
- * U = user count search (< >)
- * C = creation time search (C> C<)
- * T = topic search (T> T<)
- */
 
 #include "stdinc.h"
 #include "client.h"
@@ -316,8 +308,6 @@ init_isupport(void)
 	add_isupport("KNOCK", isupport_boolean, &ConfigChannel.use_knock);
 	add_isupport("STATUSMSG", isupport_string, "@+");
 	add_isupport("CALLERID", isupport_string, "g");
-	add_isupport("SAFELIST", isupport_string, "");
-	add_isupport("ELIST", isupport_string, "CTU");
 	add_isupport("CASEMAPPING", isupport_string, "rfc1459");
 	add_isupport("CHARSET", isupport_string, "ascii");
 	add_isupport("NICKLEN", isupport_intptr, &nicklen);