]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_channelban.cpp
Merge branch 'master+listmode'
[user/henk/code/inspircd.git] / src / modules / m_channelban.cpp
index 3260c0fa48a0e07f8256f089a07ed98d463a8a79..4d3f80e361d035cc155da3f7c9c7b8d47869ad37 100644 (file)
@@ -40,17 +40,11 @@ class ModuleBadChannelExtban : public Module
                                rm = mask.substr(3);
                                status = mh->GetModeChar();
                        }
-                       for (UCListIter i = user->chans.begin(); i != user->chans.end(); i++)
+                       for (User::ChanList::iterator i = user->chans.begin(); i != user->chans.end(); i++)
                        {
-                               if (InspIRCd::Match((**i).name, rm))
+                               if (InspIRCd::Match((*i)->chan->name, rm))
                                {
-                                       if (status)
-                                       {
-                                               Membership* memb = (**i).GetUser(user);
-                                               if (memb && memb->hasMode(status))
-                                                       return MOD_RES_DENY;
-                                       }
-                                       else
+                                       if (!status || (*i)->hasMode(status))
                                                return MOD_RES_DENY;
                                }
                        }