]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_callerid.cpp
Merge pull request #495 from SaberUK/master+fix-libcpp
[user/henk/code/inspircd.git] / src / modules / m_callerid.cpp
index bb0514680be5a7aec9fd931e3cd2456efcc9797f..e8448bc91a0e6b6515b0b2d2eb3fb6aa0e7b6130 100644 (file)
@@ -119,6 +119,7 @@ struct CallerIDExtInfo : public ExtensionItem
                        if (it2 != targ->wholistsme.end())
                                targ->wholistsme.erase(it2);
                }
+               delete dat;
        }
 };
 
@@ -136,6 +137,7 @@ public:
        CommandAccept(Module* Creator) : Command(Creator, "ACCEPT", 1),
                extInfo(Creator)
        {
+               allow_empty_last_param = false;
                syntax = "{[+|-]<nicks>}|*}";
                TRANSLATE2(TR_CUSTOM, TR_END);
        }
@@ -290,7 +292,6 @@ public:
 
 class ModuleCallerID : public Module
 {
-private:
        CommandAccept cmd;
        User_g myumode;
 
@@ -338,11 +339,7 @@ public:
                ServerInstance->Modules->AddService(cmd.extInfo);
 
                Implementation eventlist[] = { I_OnRehash, I_OnUserPostNick, I_OnUserQuit, I_On005Numeric, I_OnUserPreNotice, I_OnUserPreMessage };
-               ServerInstance->Modules->Attach(eventlist, this, 6);
-       }
-
-       virtual ~ModuleCallerID()
-       {
+               ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
        }
 
        virtual Version GetVersion()
@@ -350,9 +347,9 @@ public:
                return Version("Implementation of callerid, usermode +g, /accept", VF_COMMON | VF_VENDOR);
        }
 
-       virtual void On005Numeric(std::string& output)
+       virtual void On005Numeric(std::map<std::string, std::string>& tokens)
        {
-               output += " CALLERID=g";
+               tokens["CALLERID"] = "g";
        }
 
        ModResult PreText(User* user, User* dest, std::string& text)
@@ -360,7 +357,7 @@ public:
                if (!dest->IsModeSet('g'))
                        return MOD_RES_PASSTHRU;
 
-               if (operoverride && IS_OPER(user))
+               if (operoverride && user->IsOper())
                        return MOD_RES_PASSTHRU;
 
                callerid_data* dat = cmd.extInfo.get(dest, true);
@@ -421,5 +418,3 @@ public:
 };
 
 MODULE_INIT(ModuleCallerID)
-
-