From f16ef27e0e5df0249ecb38f7adf76735a550ad0a Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 9 Jul 2006 17:36:30 +0000 Subject: Altered u_listmode to have a constructor arg 'autotidy' which if set to true runs input through ModeParser::CleanMask() otherwise leaves it alone git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4236 e03df62e-2008-0410-955e-edbf42e46eb7 --- include/u_listmode.h | 9 +++++---- src/modules/m_banexception.cpp | 2 +- src/modules/m_chanfilter.cpp | 2 +- src/modules/m_inviteexception.cpp | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/u_listmode.h b/include/u_listmode.h index d30da1e5e..a03efce00 100644 --- a/include/u_listmode.h +++ b/include/u_listmode.h @@ -48,7 +48,7 @@ class ListModeBase : public ModeHandler { protected: Server* Srv; - + bool tidy; std::string infokey; std::string listnumeric; std::string endoflistnumeric; @@ -57,8 +57,8 @@ class ListModeBase : public ModeHandler limitlist chanlimits; public: - ListModeBase(Server* serv, char modechar, const std::string &eolstr, const std::string &lnum, const std::string &eolnum, const std::string &ctag = "banlist") - : ModeHandler(modechar, 1, 1, true, MODETYPE_CHANNEL, false), Srv(serv), listnumeric(lnum), endoflistnumeric(eolnum), endofliststring(eolstr), configtag(ctag) + ListModeBase(Server* serv, char modechar, const std::string &eolstr, const std::string &lnum, const std::string &eolnum, bool autotidy, const std::string &ctag = "banlist") + : ModeHandler(modechar, 1, 1, true, MODETYPE_CHANNEL, false), Srv(serv), listnumeric(lnum), endoflistnumeric(eolnum), endofliststring(eolstr), tidy(autotidy), configtag(ctag) { this->DoRehash(); infokey = "exceptionbase_mode_" + std::string(1, mode) + "_list"; @@ -130,7 +130,8 @@ class ListModeBase : public ModeHandler } // Clean the mask up - ModeParser::CleanMask(parameter); + if (this->tidy) + ModeParser::CleanMask(parameter); // Check if the item already exists in the list for (modelist::iterator it = el->begin(); it != el->end(); it++) diff --git a/src/modules/m_banexception.cpp b/src/modules/m_banexception.cpp index 862a6e21c..062194d76 100644 --- a/src/modules/m_banexception.cpp +++ b/src/modules/m_banexception.cpp @@ -20,7 +20,7 @@ class BanException : public ListModeBase { public: - BanException(Server* serv) : ListModeBase(serv, 'e', "End of Channel Exception List", "348", "349") { } + BanException(Server* serv) : ListModeBase(serv, 'e', "End of Channel Exception List", "348", "349", true) { } }; diff --git a/src/modules/m_chanfilter.cpp b/src/modules/m_chanfilter.cpp index 3c278ac44..0ea3ca064 100644 --- a/src/modules/m_chanfilter.cpp +++ b/src/modules/m_chanfilter.cpp @@ -31,7 +31,7 @@ using namespace std; class ChanFilter : public ListModeBase { public: - ChanFilter(Server* serv) : ListModeBase(serv, 'g', "End of channel spamfilter list", "941", "940", "chanfilter") { } + ChanFilter(Server* serv) : ListModeBase(serv, 'g', "End of channel spamfilter list", "941", "940", false, "chanfilter") { } virtual bool ValidateParam(userrec* user, chanrec* chan, std::string &word) { diff --git a/src/modules/m_inviteexception.cpp b/src/modules/m_inviteexception.cpp index d5cb15ea5..5232cfa94 100644 --- a/src/modules/m_inviteexception.cpp +++ b/src/modules/m_inviteexception.cpp @@ -22,7 +22,7 @@ class InviteException : public ListModeBase { public: - InviteException(Server* serv) : ListModeBase(serv, 'I', "End of Channel Invite Exception List", "346", "347") { } + InviteException(Server* serv) : ListModeBase(serv, 'I', "End of Channel Invite Exception List", "346", "347", true) { } }; class ModuleInviteException : public Module -- cgit v1.2.3