]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_exemptchanops.cpp
Fixes found by removing User inheritance from StreamSocket
[user/henk/code/inspircd.git] / src / modules / m_exemptchanops.cpp
index ae2a80b02927cfc359921c3d29448e3e2c6884e2..9e6b735ed2caef39d6e67e8655b57a38e72a70e0 100644 (file)
@@ -78,7 +78,7 @@ class ModuleExemptChanOps : public Module
 
        virtual Version GetVersion()
        {
-               return Version("Provides the ability to allow channel operators to be exempt from certain modes.",VF_VENDOR|VF_COMMON,API_VERSION);
+               return Version("Provides the ability to allow channel operators to be exempt from certain modes.",VF_VENDOR|VF_COMMON);
        }
 
        virtual void OnRehash(User* user)
@@ -99,12 +99,12 @@ class ModuleExemptChanOps : public Module
                ec.DoSyncChannel(chan, proto, opaque);
        }
 
-       virtual ModResult OnChannelRestrictionApply(Membership* memb, Channel* chan, const char* restriction)
+       virtual ModResult OnChannelRestrictionApply(User* user, Channel* chan, const char* restriction)
        {
                irc::spacesepstream allowstream(alwaysexempt), denystream(neverexempt);
                std::string current;
 
-               if (memb->getRank() != OP_VALUE)
+               if (chan->GetPrefixValue(user) != OP_VALUE)
                        return MOD_RES_PASSTHRU; // They're not opped, so we don't exempt them
                while(denystream.GetToken(current))
                        if (!strcasecmp(restriction, current.c_str())) return MOD_RES_PASSTHRU; // This mode is set to never allow exemptions in the config