From feb4dbeef44537599abca584ee4b78ab188c2ec9 Mon Sep 17 00:00:00 2001 From: w00t Date: Mon, 4 Feb 2008 12:15:57 +0000 Subject: Clean up some FJOIN stuff git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8816 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_spanningtree/fjoin.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/modules/m_spanningtree/fjoin.cpp') diff --git a/src/modules/m_spanningtree/fjoin.cpp b/src/modules/m_spanningtree/fjoin.cpp index eacd9ee04..d8849ac44 100644 --- a/src/modules/m_spanningtree/fjoin.cpp +++ b/src/modules/m_spanningtree/fjoin.cpp @@ -184,3 +184,24 @@ bool TreeSocket::ForceJoin(const std::string &source, std::deque &p return true; } +/** TODO: This creates a total mess of output and needs to really use irc::modestacker. + */ +bool TreeSocket::RemoveStatus(const std::string &prefix, std::deque ¶ms) +{ + if (params.size() < 1) + return true; + + Channel* c = Instance->FindChan(params[0]); + + if (c) + { + for (char modeletter = 'A'; modeletter <= 'z'; modeletter++) + { + ModeHandler* mh = Instance->Modes->FindMode(modeletter, MODETYPE_CHANNEL); + if (mh) + mh->RemoveMode(c); + } + } + return true; +} + -- cgit v1.3.1-10-gc9f91