]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_cap.cpp
Merge pull request #495 from SaberUK/master+fix-libcpp
[user/henk/code/inspircd.git] / src / modules / m_cap.cpp
index a905f2a37ffcb7241e8117a7b901f34b41c52cf9..ee9c96936c23122ac1cac055f945b92a3d51d58e 100644 (file)
@@ -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)
-