]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_filter.cpp
Resolve /STATS S conflict between SVSHOLD and SHUN
[user/henk/code/inspircd.git] / src / modules / m_filter.cpp
index 35aca62620ecfd7f41b65536518c2fdde3fa8380..e4b2645f9b35ba950564f68bb0836deac8155c7b 100644 (file)
@@ -155,7 +155,7 @@ class ModuleFilter : public Module
        void OnSyncNetwork(Module* proto, void* opaque);
        void OnDecodeMetaData(Extensible* target, const std::string &extname, const std::string &extdata);
        ModResult OnStats(char symbol, User* user, string_list &results);
-       ModResult OnPreCommand(std::string &command, std::vector<std::string> &parameters, User *user, bool validated, const std::string &original_line);
+       ModResult OnPreCommand(std::string &command, std::vector<std::string> &parameters, LocalUser *user, bool validated, const std::string &original_line);
        bool AppliesToMe(User* user, FilterResult* filter, int flags);
        void ReadFilters(ConfigReader &MyConf);
 };
@@ -165,7 +165,8 @@ CmdResult CommandFilter::Handle(const std::vector<std::string> &parameters, User
        if (parameters.size() == 1)
        {
                /* Deleting a filter */
-               if (static_cast<ModuleFilter&>(*creator).DeleteFilter(parameters[0]))
+               Module *me = creator;
+               if (static_cast<ModuleFilter *>(me)->DeleteFilter(parameters[0]))
                {
                        user->WriteServ("NOTICE %s :*** Removed filter '%s'", user->nick.c_str(), parameters[0].c_str());
                        ServerInstance->SNO->WriteToSnoMask(IS_LOCAL(user) ? 'a' : 'A', std::string("FILTER: ")+user->nick+" removed filter '"+parameters[0]+"'");
@@ -212,7 +213,9 @@ CmdResult CommandFilter::Handle(const std::vector<std::string> &parameters, User
                        {
                                reason = parameters[3];
                        }
-                       std::pair<bool, std::string> result = static_cast<ModuleFilter&>(*creator).AddFilter(freeform, type, reason, duration, flags);
+                       
+                       Module *me = creator;
+                       std::pair<bool, std::string> result = static_cast<ModuleFilter *>(me)->AddFilter(freeform, type, reason, duration, flags);
                        if (result.first)
                        {
                                user->WriteServ("NOTICE %s :*** Added filter '%s', type '%s'%s%s, flags '%s', reason: '%s'", user->nick.c_str(), freeform.c_str(),
@@ -339,7 +342,7 @@ ModResult ModuleFilter::OnUserPreNotice(User* user,void* dest,int target_type, s
        return MOD_RES_PASSTHRU;
 }
 
-ModResult ModuleFilter::OnPreCommand(std::string &command, std::vector<std::string> &parameters, User *user, bool validated, const std::string &original_line)
+ModResult ModuleFilter::OnPreCommand(std::string &command, std::vector<std::string> &parameters, LocalUser *user, bool validated, const std::string &original_line)
 {
        flags = 0;
        if (validated && IS_LOCAL(user))