X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_namesx.cpp;h=2e206003271838f2398479e0ef55c87be0ed08ae;hb=a4f222ee1b05e2fdb2744c1694f9140f8099b009;hp=a890ba16f531e30704a022c1a17d4a0916b1e7ae;hpb=4b41feea830fc84e8c1b2fd0982f3e8d8840af96;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_namesx.cpp b/src/modules/m_namesx.cpp index a890ba16f..2e2060032 100644 --- a/src/modules/m_namesx.cpp +++ b/src/modules/m_namesx.cpp @@ -23,8 +23,6 @@ #include "inspircd.h" #include "modules/cap.h" -/* $ModDesc: Provides the NAMESX (CAP multi-prefix) capability. */ - class ModuleNamesX : public Module { GenericCap cap; @@ -33,12 +31,6 @@ class ModuleNamesX : public Module { } - void init() CXX11_OVERRIDE - { - Implementation eventlist[] = { I_OnPreCommand, I_OnNamesListItem, I_On005Numeric, I_OnEvent, I_OnSendWhoLine }; - ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); - } - Version GetVersion() CXX11_OVERRIDE { return Version("Provides the NAMESX (CAP multi-prefix) capability.",VF_VENDOR); @@ -79,9 +71,9 @@ class ModuleNamesX : public Module prefixes = memb->chan->GetAllPrefixChars(memb->user); } - void OnSendWhoLine(User* source, const std::vector& params, User* user, std::string& line) CXX11_OVERRIDE + void OnSendWhoLine(User* source, const std::vector& params, User* user, Channel* chan, std::string& line) CXX11_OVERRIDE { - if (!cap.ext.get(source)) + if ((!chan) || (!cap.ext.get(source))) return; // Channel names can contain ":", and ":" as a 'start-of-token' delimiter is @@ -96,17 +88,7 @@ class ModuleNamesX : public Module return; // 352 21DAAAAAB #chan ident localhost insp21.test 21DAAAAAB H@ :0 a - // a b pos - std::string::size_type a = 4 + source->nick.length() + 1; - std::string::size_type b = line.find(' ', a); - if (b == std::string::npos) - return; - - // Try to find this channel - std::string channame = line.substr(a, b-a); - Channel* chan = ServerInstance->FindChan(channame); - if (!chan) - return; + // pos // Don't do anything if the user has only one prefix std::string prefixes = chan->GetAllPrefixChars(user);