From 0d67e5e75b37d4764eba2e4e026d62dcefeccad3 Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Tue, 9 Feb 2010 15:14:57 -0600 Subject: Remove duplicate mode sending on processed modes --- src/modules/m_spanningtree/main.cpp | 36 +----------------------- src/modules/m_spanningtree/main.h | 1 - src/modules/m_spanningtree/protocolinterface.cpp | 4 +-- 3 files changed, 3 insertions(+), 38 deletions(-) (limited to 'src/modules') 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(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 &modeline, const std::vector &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); } } } -- cgit v1.3.1-10-gc9f91