X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_callerid.cpp;h=e8448bc91a0e6b6515b0b2d2eb3fb6aa0e7b6130;hb=e9e75e50bc25e67af22dd88b39b12217a553d5cb;hp=e28a4084b0b94a40987382913d1d2fa103868f1f;hpb=a4db7bf9af00b32d4f5c1922997d02b0b8be59e5;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_callerid.cpp b/src/modules/m_callerid.cpp index e28a4084b..e8448bc91 100644 --- a/src/modules/m_callerid.cpp +++ b/src/modules/m_callerid.cpp @@ -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 = "{[+|-]}|*}"; TRANSLATE2(TR_CUSTOM, TR_END); } @@ -144,7 +146,7 @@ public: { if (index != 0) return; - std::string out = ""; + std::string out; irc::commasepstream nicks(parameter); std::string tok; while (nicks.GetToken(tok)) @@ -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& 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) - -