]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Fix crash on kick when +J is set, +misc cleanup
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 7 Feb 2010 23:18:53 +0000 (23:18 +0000)
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>
Sun, 7 Feb 2010 23:18:53 +0000 (23:18 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12396 e03df62e-2008-0410-955e-edbf42e46eb7

src/modules/m_kicknorejoin.cpp
src/modules/m_ojoin.cpp

index 76cf3b976f4b748e23b6b041b3397b91fb30d9fd..34df89ae3f398103317ee312f87ab55b2fad926e 100644 (file)
@@ -101,7 +101,7 @@ public:
                if (memb->chan->IsModeSet(&kr) && (source != memb->user))
                {
                        delaylist* dl = kr.ext.get(memb->chan);
-                       if (dl)
+                       if (!dl)
                        {
                                dl = new delaylist;
                                kr.ext.set(memb->chan, dl);
index 38497f1bb640630092337895e5094e3b6e91e9f3..17c52710ab5e357ac52d0cfb8dd69fafcf841387 100644 (file)
@@ -98,7 +98,7 @@ class NetworkPrefix : public ModeHandler
        {
                list = true;
                prefix = NPrefix;
-               levelrequired = 0xFFFFFFFF;
+               levelrequired = INT_MAX;
                m_paramtype = TR_NICK;
        }
 
@@ -200,27 +200,24 @@ class ModuleOjoin : public Module
 
        void OnRehash(User* user)
        {
-               ConfigReader Conf;
+               ConfigTag* Conf = ServerInstance->Config->ConvValue("ojoin");
 
                if (!np)
                {
                        // This is done on module load only
-                       std::string npre = Conf.ReadValue("ojoin", "prefix", 0);
+                       std::string npre = Conf->getString("prefix");
                        NPrefix = npre.empty() ? 0 : npre[0];
 
                        if (NPrefix && ServerInstance->Modes->FindPrefix(NPrefix))
                                throw ModuleException("Looks like the +Y prefix you picked for m_ojoin is already in use. Pick another.");
                }
 
-               notice = Conf.ReadFlag("ojoin", "notice", "yes", 0);
-               op = Conf.ReadFlag("ojoin", "op", "yes", 0);
+               notice = Conf->getBool("notice", true);
+               op = Conf->getBool("op", true);
        }
 
        ModResult OnUserPreKick(User* source, Membership* memb, const std::string &reason)
        {
-               if ((ServerInstance->ULine(source->nick.c_str())) || ServerInstance->ULine(source->server))
-                       return MOD_RES_PASSTHRU;
-
                // Don't do anything if they're not +Y
                if (!memb->hasMode('Y'))
                        return MOD_RES_PASSTHRU;