]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_silence.cpp
m_mysql Fix crash on rehash when the database tags have been changed in the config
[user/henk/code/inspircd.git] / src / modules / m_silence.cpp
index 81e4bc3d8d9714c55c5cea7748db2949bd82acde..817c8ffcfe2e91aae18974c75cca988d1d2fc009 100644 (file)
@@ -110,6 +110,7 @@ class CommandSilence : public Command
        CommandSilence(Module* Creator, unsigned int &max) : Command(Creator, "SILENCE", 0),
                maxsilence(max), ext("silence_list", Creator)
        {
+               allow_empty_last_param = false;
                syntax = "{[+|-]<mask> <p|c|i|n|t|a|x>}";
                TRANSLATE3(TR_TEXT, TR_TEXT, TR_END);
        }
@@ -298,20 +299,23 @@ class ModuleSilence : public Module
 
        ModuleSilence()
                : maxsilence(32), cmdsilence(this, maxsilence), cmdsvssilence(this)
+       {
+       }
+
+       void init()
        {
                OnRehash(NULL);
-               ServerInstance->AddCommand(&cmdsilence);
-               ServerInstance->AddCommand(&cmdsvssilence);
-               ServerInstance->Extensions.Register(&cmdsilence.ext);
+               ServerInstance->Modules->AddService(cmdsilence);
+               ServerInstance->Modules->AddService(cmdsvssilence);
+               ServerInstance->Modules->AddService(cmdsilence.ext);
 
                Implementation eventlist[] = { I_OnRehash, I_On005Numeric, I_OnUserPreNotice, I_OnUserPreMessage, I_OnUserPreInvite };
-               ServerInstance->Modules->Attach(eventlist, this, 5);
+               ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
        }
 
        void OnRehash(User* user)
        {
-               ConfigReader Conf;
-               maxsilence = Conf.ReadInteger("silence", "maxentries", 0, true);
+               maxsilence = ServerInstance->Config->ConfValue("showwhois")->getInt("maxentries", 32);
                if (!maxsilence)
                        maxsilence = 32;
        }