]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_remove.cpp
Fix warning
[user/henk/code/inspircd.git] / src / modules / m_remove.cpp
index 04fd2f1d7a17da663f0d883125b974deacbe774b..008b4c82db1d28755e5802162da5a29d1d52b8b6 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
@@ -69,7 +69,7 @@ class RemoveBase
                }
        }
        
-       CmdResult Handle (const char** parameters, int pcnt, User *user, bool neworder)
+       CmdResult Handle (const std::vector<std::string>& parameters, User *user, bool neworder)
        {
                const char* channame;
                const char* username;
@@ -87,8 +87,8 @@ class RemoveBase
                 * /remove <nick> <channel> [reason ...]
                 * /fpart <channel> <nick> [reason ...]
                 */
-               channame = parameters[ neworder ? 0 : 1];
-               username = parameters[ neworder ? 1 : 0];
+               channame = parameters[ neworder ? 0 : 1].c_str();
+               username = parameters[ neworder ? 1 : 0].c_str();
                
                /* Look up the user we're meant to be removing from the channel */
                target = ServerInstance->FindNick(username);
@@ -99,7 +99,7 @@ class RemoveBase
                /* Fix by brain - someone needs to learn to validate their input! */
                if (!target || !channel)
                {
-                       user->WriteServ("401 %s %s :No such nick/channel", user->nick, !target ? username : channame);
+                       user->WriteNumeric(401, "%s %s :No such nick/channel", user->nick, !target ? username : channame);
                        return CMD_FAILURE;
                }
 
@@ -167,10 +167,10 @@ class RemoveBase
                                std::string reasonparam("No reason given");
                                
                                /* If a reason is given, use it */
-                               if(pcnt > 2)
+                               if(parameters.size() > 2)
                                {
                                        /* Join params 2 ... pcnt - 1 (inclusive) into one */
-                                       irc::stringjoiner reason_join(" ", parameters, 2, pcnt - 1);
+                                       irc::stringjoiner reason_join(" ", parameters, 2, parameters.size() - 1);
                                        reasonparam = reason_join.GetJoined();
                                }
 
@@ -213,9 +213,9 @@ class CommandRemove : public Command, public RemoveBase
                TRANSLATE4(TR_NICK, TR_TEXT, TR_TEXT, TR_END);
        }
        
-       CmdResult Handle (const char** parameters, int pcnt, User *user)
+       CmdResult Handle (const std::vector<std::string>& parameters, User *user)
        {
-               return RemoveBase::Handle(parameters, pcnt, user, false);
+               return RemoveBase::Handle(parameters, user, false);
        }
 };
 
@@ -230,9 +230,9 @@ class CommandFpart : public Command, public RemoveBase
                syntax = "<channel> <nick> [<reason>]";
        }
 
-       CmdResult Handle (const char** parameters, int pcnt, User *user)
+       CmdResult Handle (const std::vector<std::string>& parameters, User *user)
        {
-               return RemoveBase::Handle(parameters, pcnt, user, true);
+               return RemoveBase::Handle(parameters, user, true);
        }
 };
 
@@ -274,7 +274,7 @@ class ModuleRemove : public Module
        
        virtual Version GetVersion()
        {
-               return Version(1, 1, 1, 0, VF_COMMON | VF_VENDOR, API_VERSION);
+               return Version(1, 2, 1, 0, VF_COMMON | VF_VENDOR, API_VERSION);
        }
        
 };