X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_cap.cpp;h=ee9c96936c23122ac1cac055f945b92a3d51d58e;hb=e9e75e50bc25e67af22dd88b39b12217a553d5cb;hp=a905f2a37ffcb7241e8117a7b901f34b41c52cf9;hpb=0023d21ce23812ad59aefc0b62aac37bd09d182e;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_cap.cpp b/src/modules/m_cap.cpp index a905f2a37..ee9c96936 100644 --- a/src/modules/m_cap.cpp +++ b/src/modules/m_cap.cpp @@ -19,7 +19,7 @@ #include "inspircd.h" -#include "m_cap.h" +#include "modules/cap.h" /* $ModDesc: Provides the CAP negotiation mechanism seen in ratbox-derived ircds */ @@ -108,7 +108,9 @@ class CommandCAP : public Command reghold.set(user, 1); Data.Send(); - std::string Result = irc::stringjoiner(" ", Data.ack, 0, Data.ack.size() - 1).GetJoined(); + std::string Result; + if (!Data.ack.empty()) + Result = irc::stringjoiner(" ", Data.ack, 0, Data.ack.size() - 1).GetJoined(); user->WriteServ("CAP %s ACK :%s", user->nick.c_str(), Result.c_str()); } else @@ -128,11 +130,15 @@ class ModuleCAP : public Module ModuleCAP() : cmd(this) { - ServerInstance->AddCommand(&cmd); - ServerInstance->Extensions.Register(&cmd.reghold); + } + + void init() + { + ServerInstance->Modules->AddService(cmd); + ServerInstance->Modules->AddService(cmd.reghold); Implementation eventlist[] = { I_OnCheckReady }; - ServerInstance->Modules->Attach(eventlist, this, 1); + ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); } ModResult OnCheckReady(LocalUser* user) @@ -144,10 +150,6 @@ class ModuleCAP : public Module return MOD_RES_PASSTHRU; } - ~ModuleCAP() - { - } - Version GetVersion() { return Version("Client CAP extension support", VF_VENDOR); @@ -155,4 +157,3 @@ class ModuleCAP : public Module }; MODULE_INIT(ModuleCAP) -