summaryrefslogtreecommitdiff
path: root/modules/commands/os_mode.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-04-07 23:46:44 -0500
committerAdam <Adam@anope.org>2013-04-07 23:46:44 -0500
commitfb7fef7a849342ab8463743497e781c5c3e6ae88 (patch)
tree5d230a68b6eed70c7b4f718410dd62fea779654c /modules/commands/os_mode.cpp
parent36602224b8b1a11326a224779d16bcb12f0ed532 (diff)
Optimizations of much of the more commonly used code
Diffstat (limited to 'modules/commands/os_mode.cpp')
-rw-r--r--modules/commands/os_mode.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/modules/commands/os_mode.cpp b/modules/commands/os_mode.cpp
index 33387bff6..db0ac73b5 100644
--- a/modules/commands/os_mode.cpp
+++ b/modules/commands/os_mode.cpp
@@ -45,13 +45,13 @@ class CommandOSMode : public Command
{
for (Channel::ChanUserList::iterator it = c->users.begin(), it_end = c->users.end(); it != it_end; ++it)
{
- ChanUserContainer *uc = *it;
+ ChanUserContainer *uc = it->second;
if (uc->user->HasMode("OPER"))
continue;
- for (std::set<Anope::string>::iterator it2 = uc->status.modes.begin(), it2_end = uc->status.modes.end(); it2 != it2_end; ++it2)
- c->RemoveMode(c->ci->WhoSends(), *it2, uc->user->GetUID(), false);
+ for (size_t i = 0; i < uc->status.Modes().length(); ++i)
+ c->RemoveMode(c->ci->WhoSends(), ModeManager::FindChannelModeByChar(uc->status.Modes()[i]), uc->user->GetUID(), false);
}
source.Reply(_("All modes cleared on %s."), c->name.c_str());