]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_helpop.cpp
dz is determined to crash your ircd :P
[user/henk/code/inspircd.git] / src / modules / m_helpop.cpp
index d25e2c0bdda3a081cd53f78f5adef35dfee6b0f0..b1028a042943671cbcdfbb92023d4df691853222 100644 (file)
@@ -12,9 +12,6 @@
  */
 
 #include "inspircd.h"
-#include "users.h"
-#include "channels.h"
-#include "modules.h"
 
 /* $ModDesc: /helpop Command, Works like Unreal helpop */
 static std::map<irc::string, std::string> helpop_map;
@@ -63,11 +60,11 @@ class cmd_helpop : public command_t
 
        CmdResult Handle (const char** parameters, int pcnt, userrec *user)
        {
-               irc::string parameter;
+               irc::string parameter("start");
                if (pcnt > 0)
                        parameter = parameters[0];
 
-               if (pcnt == 0 || parameter == "index")
+               if (parameter == "index")
                {
                        /* iterate over all helpop items */
                        user->WriteServ("NOTICE %s :HELPOP topic index", user->nick);
@@ -79,7 +76,7 @@ class cmd_helpop : public command_t
                }
                else
                {
-                       user->WriteServ("NOTICE %s :*** HELPOP for %s", user->nick, parameters[0]);
+                       user->WriteServ("NOTICE %s :*** HELPOP for %s", user->nick, parameter.c_str());
 
                        std::map<irc::string, std::string>::iterator iter = helpop_map.find(parameter);
 
@@ -92,10 +89,8 @@ class cmd_helpop : public command_t
                        irc::sepstream stream(value, '\n');
                        std::string token = "*";
 
-                       while ((token = stream.GetToken()) != "")
-                       {
+                       while (stream.GetToken(token))
                                user->WriteServ("NOTICE %s :%s", user->nick, token.c_str());
-                       }
 
                        user->WriteServ("NOTICE %s :*** End of HELPOP", user->nick);
                }
@@ -188,25 +183,4 @@ class ModuleHelpop : public Module
                }
 };
 
-class ModuleHelpopFactory : public ModuleFactory
-{
- public:
-       ModuleHelpopFactory()
-       {
-       }
-       
-       ~ModuleHelpopFactory()
-       {
-       }
-       
-       virtual Module * CreateModule(InspIRCd* Me)
-       {
-               return new ModuleHelpop(Me);
-       }
-       
-};
-
-extern "C" DllExport void * init_module( void )
-{
-       return new ModuleHelpopFactory;
-}
+MODULE_INIT(ModuleHelpop)