]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/cmd_reloadmodule.cpp
This fixes a deletion error here, we were using new[] and not using delete[], but...
[user/henk/code/inspircd.git] / src / cmd_reloadmodule.cpp
index 0eb6f1ec452f20bbe05c8a9021aad418b46ea26d..df198d662d0994604ada5438dc9f45cb004e6c71 100644 (file)
@@ -1 +1,38 @@
-/*       +------------------------------------+\r *       | Inspire Internet Relay Chat Daemon |\r *       +------------------------------------+\r *\r *  InspIRCd: (C) 2002-2007 InspIRCd Development Team\r * See: http://www.inspircd.org/wiki/index.php/Credits\r *\r * This program is free but copyrighted software; see\r *            the file COPYING for details.\r *\r * ---------------------------------------------------\r */\r\r#include "inspircd.h"\r#include "users.h"\r#include "commands/cmd_reloadmodule.h"\r\rextern "C" DllExport command_t* init_command(InspIRCd* Instance)\r{\r       return new cmd_reloadmodule(Instance);\r}\r\rCmdResult cmd_reloadmodule::Handle (const char** parameters, int pcnt, userrec *user)\r{\r      if (ServerInstance->UnloadModule(parameters[0]))\r       {\r              ServerInstance->WriteOpers("*** RELOAD MODULE: %s unloaded %s",user->nick, parameters[0]);\r             if (ServerInstance->LoadModule(parameters[0]))\r         {\r                      ServerInstance->WriteOpers("*** RELOAD MODULE: %s reloaded %s",user->nick, parameters[0]);\r                     user->WriteServ("975 %s %s :Module successfully reloaded.",user->nick, parameters[0]);\r                 return CMD_SUCCESS;\r            }\r      }\r      \r       ServerInstance->WriteOpers("*** RELOAD MODULE: %s unsuccessfully reloaded %s",user->nick, parameters[0]);\r      user->WriteServ("975 %s %s :Module failed to reload.",user->nick, parameters[0]);\r      return CMD_FAILURE;\r}\r
\ No newline at end of file
+/*       +------------------------------------+
+ *       | Inspire Internet Relay Chat Daemon |
+ *       +------------------------------------+
+ *
+ *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
+ *
+ * This program is free but copyrighted software; see
+ *            the file COPYING for details.
+ *
+ * ---------------------------------------------------
+ */
+
+#include "inspircd.h"
+#include "commands/cmd_reloadmodule.h"
+
+extern "C" DllExport command_t* init_command(InspIRCd* Instance)
+{
+       return new cmd_reloadmodule(Instance);
+}
+
+CmdResult cmd_reloadmodule::Handle (const char** parameters, int pcnt, userrec *user)
+{
+       if (ServerInstance->Modules->Unload(parameters[0]))
+       {
+               ServerInstance->WriteOpers("*** RELOAD MODULE: %s unloaded %s",user->nick, parameters[0]);
+               if (ServerInstance->Modules->Load(parameters[0]))
+               {
+                       ServerInstance->WriteOpers("*** RELOAD MODULE: %s reloaded %s",user->nick, parameters[0]);
+                       user->WriteServ("975 %s %s :Module successfully reloaded.",user->nick, parameters[0]);
+                       return CMD_SUCCESS;
+               }
+       }
+       
+       ServerInstance->WriteOpers("*** RELOAD MODULE: %s unsuccessfully reloaded %s",user->nick, parameters[0]);
+       user->WriteServ("975 %s %s :Module failed to reload.",user->nick, parameters[0]);
+       return CMD_FAILURE;
+}