]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_chghost.cpp
Fix memory leak and invalid vtable location on unload of m_sslinfo
[user/henk/code/inspircd.git] / src / modules / m_chghost.cpp
index e29bb1bed915b853c08f795ef19cbeacceba7b27..a8cad8d43c47a91dfa7b19f1bdfb4ee4b03496c5 100644 (file)
@@ -22,9 +22,8 @@ class CommandChghost : public Command
  private:
        char* hostmap;
  public:
-       CommandChghost (InspIRCd* Instance, char* hmap) : Command(Instance,"CHGHOST","o",2), hostmap(hmap)
+       CommandChghost (InspIRCd* Instance, Module* Creator, char* hmap) : Command(Instance,Creator,"CHGHOST","o",2), hostmap(hmap)
        {
-               this->source = "m_chghost.so";
                syntax = "<nick> <newhost>";
                TRANSLATE3(TR_NICK, TR_TEXT, TR_END);
        }
@@ -81,15 +80,14 @@ class CommandChghost : public Command
 
 class ModuleChgHost : public Module
 {
-       CommandChghost* mycommand;
+       CommandChghost cmd;
        char hostmap[256];
  public:
        ModuleChgHost(InspIRCd* Me)
-               : Module(Me)
+               : Module(Me), cmd(Me, this, hostmap)
        {
                OnRehash(NULL);
-               mycommand = new CommandChghost(ServerInstance, hostmap);
-               ServerInstance->AddCommand(mycommand);
+               ServerInstance->AddCommand(&cmd);
                Implementation eventlist[] = { I_OnRehash };
                ServerInstance->Modules->Attach(eventlist, this, 1);
        }