summaryrefslogtreecommitdiff
path: root/src/modules/m_nonicks.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_nonicks.cpp')
-rw-r--r--src/modules/m_nonicks.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/modules/m_nonicks.cpp b/src/modules/m_nonicks.cpp
index 90fd93f1c..df4552860 100644
--- a/src/modules/m_nonicks.cpp
+++ b/src/modules/m_nonicks.cpp
@@ -87,18 +87,15 @@ class ModuleNoNickChange : public Module
irc::string me = ServerInstance->Config->ServerName;
if (server == me)
{
- for (std::vector<ucrec*>::iterator i = user->chans.begin(); i != user->chans.end(); i++)
+ for (UCListIter i = user->chans.begin(); i != user->chans.end(); i++)
{
- if (((ucrec*)(*i))->channel != NULL)
+ chanrec* curr = i->first;
+ if ((curr->IsModeSet('N')) && (!*user->oper))
{
- chanrec* curr = ((ucrec*)(*i))->channel;
- if ((curr->IsModeSet('N')) && (!*user->oper))
- {
- // don't allow the nickchange, theyre on at least one channel with +N set
- // and theyre not an oper
- user->WriteServ("447 %s :Can't change nickname while on %s (+N is set)",user->nick,curr->name);
- return 1;
- }
+ // don't allow the nickchange, theyre on at least one channel with +N set
+ // and theyre not an oper
+ user->WriteServ("447 %s :Can't change nickname while on %s (+N is set)", user->nick, curr->name);
+ return 1;
}
}
}