diff options
| author | 2010-02-09 15:14:57 -0600 | |
|---|---|---|
| committer | 2010-08-03 17:32:35 -0400 | |
| commit | 0d67e5e75b37d4764eba2e4e026d62dcefeccad3 (patch) | |
| tree | 2426ea571d83cd0c9e05228b0d45964312fac551 /src/modules | |
| parent | Fixes from characterless mode test (diff) | |
Remove duplicate mode sending on processed modes
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/m_spanningtree/main.cpp | 36 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/main.h | 1 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/protocolinterface.cpp | 4 |
3 files changed, 3 insertions, 38 deletions
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index c6ea6781e..50d088319 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -67,7 +67,7 @@ void ModuleSpanningTree::init() I_OnWallops, I_OnUserNotice, I_OnUserMessage, I_OnBackgroundTimer, I_OnUserJoin, I_OnChangeHost, I_OnChangeName, I_OnChangeIdent, I_OnUserPart, I_OnUnloadModule, I_OnUserQuit, I_OnUserPostNick, I_OnUserKick, I_OnRemoteKill, I_OnRehash, I_OnPreRehash, - I_OnOper, I_OnAddLine, I_OnDelLine, I_OnMode, I_OnLoadModule, I_OnStats, + I_OnOper, I_OnAddLine, I_OnDelLine, I_OnLoadModule, I_OnStats, I_OnSetAway, I_OnPostCommand, I_OnUserConnect, I_OnAcceptConnection }; ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); @@ -850,40 +850,6 @@ void ModuleSpanningTree::OnDelLine(User* user, XLine *x) } } -void ModuleSpanningTree::OnMode(User* user, Extensible* dest, const irc::modestacker& modesc) -{ - irc::modestacker modes(modesc); - if ((IS_LOCAL(user)) && (user->registered == REG_ALL)) - { - parameterlist params; - int id; - std::string command; - - User* u = dynamic_cast<User*>(dest); - if (u) - { - params.push_back(u->uuid); - id = 1; - command = "MODE"; - } - else - { - Channel* c = (Channel*)dest; - params.push_back(c->name); - params.push_back(ConvToStr(c->age)); - id = 2; - command = "FMODE"; - } - params.push_back(""); - - while (!modes.empty()) - { - params[id] = modes.popModeLine(true); - Utils->DoOneToMany(user->uuid, command, params); - } - } -} - ModResult ModuleSpanningTree::OnSetAway(User* user, const std::string &awaymsg) { if (IS_LOCAL(user)) diff --git a/src/modules/m_spanningtree/main.h b/src/modules/m_spanningtree/main.h index b4491b4da..029d54c53 100644 --- a/src/modules/m_spanningtree/main.h +++ b/src/modules/m_spanningtree/main.h @@ -156,7 +156,6 @@ class ModuleSpanningTree : public Module void OnLine(User* source, const std::string &host, bool adding, char linetype, long duration, const std::string &reason); void OnAddLine(User *u, XLine *x); void OnDelLine(User *u, XLine *x); - void OnMode(User* user, Extensible* dest, const irc::modestacker& modes); ModResult OnStats(char statschar, User* user, string_list &results); ModResult OnSetAway(User* user, const std::string &awaymsg); void ProtoSendMode(void* opaque, TargetTypeFlags target_type, void* target, const std::vector<std::string> &modeline, const std::vector<TranslateType> &translate); diff --git a/src/modules/m_spanningtree/protocolinterface.cpp b/src/modules/m_spanningtree/protocolinterface.cpp index c72318a10..a248da474 100644 --- a/src/modules/m_spanningtree/protocolinterface.cpp +++ b/src/modules/m_spanningtree/protocolinterface.cpp @@ -81,7 +81,7 @@ void SpanningTreeProtocolInterface::SendMode(User* src, Extensible* dest, irc::m while (!modes.empty()) { outlist[1] = modes.popModeLine(true); - Utils->DoOneToMany(ServerInstance->Config->GetSID(),"MODE",outlist); + Utils->DoOneToMany(src->uuid,"MODE",outlist); } } else if (c) @@ -92,7 +92,7 @@ void SpanningTreeProtocolInterface::SendMode(User* src, Extensible* dest, irc::m while (!modes.empty()) { outlist[2] = modes.popModeLine(true); - Utils->DoOneToMany(ServerInstance->Config->GetSID(),"FMODE",outlist); + Utils->DoOneToMany(src->uuid,"FMODE",outlist); } } } |
