summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_spanningtree')
-rw-r--r--src/modules/m_spanningtree/main.cpp12
-rw-r--r--src/modules/m_spanningtree/main.h28
-rw-r--r--src/modules/m_spanningtree/override_admin.cpp8
-rw-r--r--src/modules/m_spanningtree/override_map.cpp6
-rw-r--r--src/modules/m_spanningtree/override_modules.cpp10
-rw-r--r--src/modules/m_spanningtree/override_motd.cpp8
-rw-r--r--src/modules/m_spanningtree/override_squit.cpp8
-rw-r--r--src/modules/m_spanningtree/override_stats.cpp8
-rw-r--r--src/modules/m_spanningtree/override_time.cpp8
-rw-r--r--src/modules/m_spanningtree/override_whois.cpp8
-rw-r--r--src/modules/m_spanningtree/postcommand.cpp12
-rw-r--r--src/modules/m_spanningtree/precommand.cpp34
-rw-r--r--src/modules/m_spanningtree/rconnect.cpp14
-rw-r--r--src/modules/m_spanningtree/rconnect.h2
-rw-r--r--src/modules/m_spanningtree/rsquit.cpp10
-rw-r--r--src/modules/m_spanningtree/rsquit.h2
-rw-r--r--src/modules/m_spanningtree/treesocket2.cpp20
17 files changed, 95 insertions, 103 deletions
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp
index 0cfa53a14..6c77de076 100644
--- a/src/modules/m_spanningtree/main.cpp
+++ b/src/modules/m_spanningtree/main.cpp
@@ -110,14 +110,14 @@ int ModuleSpanningTree::CountServs()
return Utils->serverlist.size();
}
-void ModuleSpanningTree::HandleLinks(const char* const* parameters, int pcnt, User* user)
+void ModuleSpanningTree::HandleLinks(const std::vector<std::string>& parameters, User* user)
{
ShowLinks(Utils->TreeRoot,user,0);
user->WriteNumeric(365, "%s * :End of /LINKS list.",user->nick);
return;
}
-void ModuleSpanningTree::HandleLusers(const char* const* parameters, int pcnt, User* user)
+void ModuleSpanningTree::HandleLusers(const std::vector<std::string>& parameters, User* user)
{
unsigned int n_users = ServerInstance->Users->UserCount();
@@ -337,7 +337,7 @@ void ModuleSpanningTree::AutoConnectServers(time_t curtime)
}
}
-int ModuleSpanningTree::HandleVersion(const char* const* parameters, int pcnt, User* user)
+int ModuleSpanningTree::HandleVersion(const std::vector<std::string>& parameters, User* user)
{
// we've already checked if pcnt > 0, so this is safe
TreeServer* found = Utils->FindServerMask(parameters[0]);
@@ -352,7 +352,7 @@ int ModuleSpanningTree::HandleVersion(const char* const* parameters, int pcnt, U
}
else
{
- user->WriteNumeric(402, "%s %s :No such server",user->nick,parameters[0]);
+ user->WriteNumeric(402, "%s %s :No such server",user->nick,parameters[0].c_str());
}
return 1;
}
@@ -409,7 +409,7 @@ void ModuleSpanningTree::RemoteMessage(User* user, const char* format, ...)
SendingRemoteMessage = false;
}
-int ModuleSpanningTree::HandleConnect(const char* const* parameters, int pcnt, User* user)
+int ModuleSpanningTree::HandleConnect(const std::vector<std::string>& parameters, User* user)
{
for (std::vector<Link>::iterator x = Utils->LinkBlocks.begin(); x < Utils->LinkBlocks.end(); x++)
{
@@ -429,7 +429,7 @@ int ModuleSpanningTree::HandleConnect(const char* const* parameters, int pcnt, U
}
}
}
- RemoteMessage(user, "*** CONNECT: No server matching \002%s\002 could be found in the config file.",parameters[0]);
+ RemoteMessage(user, "*** CONNECT: No server matching \002%s\002 could be found in the config file.",parameters[0].c_str());
return 1;
}
diff --git a/src/modules/m_spanningtree/main.h b/src/modules/m_spanningtree/main.h
index 216cb6193..a302c1f4f 100644
--- a/src/modules/m_spanningtree/main.h
+++ b/src/modules/m_spanningtree/main.h
@@ -70,11 +70,11 @@ class ModuleSpanningTree : public Module
/** Handle LINKS command
*/
- void HandleLinks(const char* const* parameters, int pcnt, User* user);
+ void HandleLinks(const std::vector<std::string>& parameters, User* user);
/** Handle LUSERS command
*/
- void HandleLusers(const char* const* parameters, int pcnt, User* user);
+ void HandleLusers(const std::vector<std::string>& parameters, User* user);
/** Show MAP output to a user (recursive)
*/
@@ -82,35 +82,35 @@ class ModuleSpanningTree : public Module
/** Handle remote MOTD
*/
- int HandleMotd(const char* const* parameters, int pcnt, User* user);
+ int HandleMotd(const std::vector<std::string>& parameters, User* user);
/** Handle remote ADMIN
*/
- int HandleAdmin(const char* const* parameters, int pcnt, User* user);
+ int HandleAdmin(const std::vector<std::string>& parameters, User* user);
/** Handle remote STATS
*/
- int HandleStats(const char* const* parameters, int pcnt, User* user);
+ int HandleStats(const std::vector<std::string>& parameters, User* user);
/** Handle MAP command
*/
- int HandleMap(const char* const* parameters, int pcnt, User* user);
+ int HandleMap(const std::vector<std::string>& parameters, User* user);
/** Handle SQUIT
*/
- int HandleSquit(const char* const* parameters, int pcnt, User* user);
+ int HandleSquit(const std::vector<std::string>& parameters, User* user);
/** Handle TIME
*/
- int HandleTime(const char* const* parameters, int pcnt, User* user);
+ int HandleTime(const std::vector<std::string>& parameters, User* user);
/** Handle remote WHOIS
*/
- int HandleRemoteWhois(const char* const* parameters, int pcnt, User* user);
+ int HandleRemoteWhois(const std::vector<std::string>& parameters, User* user);
/** Handle remote MODULES
*/
- int HandleModules(const char* const* parameters, int pcnt, User* user);
+ int HandleModules(const std::vector<std::string>& parameters, User* user);
/** Ping all local servers
*/
@@ -126,11 +126,11 @@ class ModuleSpanningTree : public Module
/** Handle remote VERSON
*/
- int HandleVersion(const char* const* parameters, int pcnt, User* user);
+ int HandleVersion(const std::vector<std::string>& parameters, User* user);
/** Handle CONNECT
*/
- int HandleConnect(const char* const* parameters, int pcnt, User* user);
+ int HandleConnect(const std::vector<std::string>& parameters, User* user);
/** Attempt to send a message to a user
*/
@@ -148,8 +148,8 @@ class ModuleSpanningTree : public Module
** *** MODULE EVENTS ***
**/
- virtual int OnPreCommand(const std::string &command, const char* const* parameters, int pcnt, User *user, bool validated, const std::string &original_line);
- virtual void OnPostCommand(const std::string &command, const char* const* parameters, int pcnt, User *user, CmdResult result, const std::string &original_line);
+ virtual int OnPreCommand(const std::string &command, const std::vector<std::string>& parameters, User *user, bool validated, const std::string &original_line);
+ virtual void OnPostCommand(const std::string &command, const std::vector<std::string>& parameters, User *user, CmdResult result, const std::string &original_line);
virtual void OnGetServerDescription(const std::string &servername,std::string &description);
virtual void OnUserInvite(User* source,User* dest,Channel* channel, time_t);
virtual void OnPostLocalTopicChange(User* user, Channel* chan, const std::string &topic);
diff --git a/src/modules/m_spanningtree/override_admin.cpp b/src/modules/m_spanningtree/override_admin.cpp
index c090cb071..3fd59f303 100644
--- a/src/modules/m_spanningtree/override_admin.cpp
+++ b/src/modules/m_spanningtree/override_admin.cpp
@@ -33,11 +33,11 @@
/* $ModDep: m_spanningtree/timesynctimer.h m_spanningtree/resolvers.h m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/link.h m_spanningtree/treesocket.h m_spanningtree/rconnect.h m_spanningtree/rsquit.h */
-int ModuleSpanningTree::HandleAdmin(const char* const* parameters, int pcnt, User* user)
+int ModuleSpanningTree::HandleAdmin(const std::vector<std::string>& parameters, User* user)
{
- if (pcnt > 0)
+ if (parameters.size() > 0)
{
- if (match(ServerInstance->Config->ServerName, parameters[0]))
+ if (match(ServerInstance->Config->ServerName, parameters[0].c_str()))
return 0;
/* Remote ADMIN, the server is within the 1st parameter */
@@ -51,7 +51,7 @@ int ModuleSpanningTree::HandleAdmin(const char* const* parameters, int pcnt, Use
Utils->DoOneToOne(user->uuid, "ADMIN", params, s->GetName());
}
else
- user->WriteServ( "402 %s %s :No such server", user->nick, parameters[0]);
+ user->WriteServ( "402 %s %s :No such server", user->nick, parameters[0].c_str());
return 1;
}
return 0;
diff --git a/src/modules/m_spanningtree/override_map.cpp b/src/modules/m_spanningtree/override_map.cpp
index c8ccf5b99..fa93f8280 100644
--- a/src/modules/m_spanningtree/override_map.cpp
+++ b/src/modules/m_spanningtree/override_map.cpp
@@ -108,16 +108,16 @@ void ModuleSpanningTree::ShowMap(TreeServer* Current, User* user, int depth, cha
// and divisons, we instead render the map onto a backplane of characters
// (a character matrix), then draw the branches as a series of "L" shapes
// from the nodes. This is not only friendlier on CPU it uses less stack.
-int ModuleSpanningTree::HandleMap(const char* const* parameters, int pcnt, User* user)
+int ModuleSpanningTree::HandleMap(const std::vector<std::string>& parameters, User* user)
{
- if (pcnt > 0)
+ if (parameters.size() > 0)
{
/* Remote MAP, the server is within the 1st parameter */
TreeServer* s = Utils->FindServerMask(parameters[0]);
bool ret = false;
if (!s)
{
- user->WriteServ( "402 %s %s :No such server", user->nick, parameters[0]);
+ user->WriteServ( "402 %s %s :No such server", user->nick, parameters[0].c_str());
ret = true;
}
else if (s && s != Utils->TreeRoot)
diff --git a/src/modules/m_spanningtree/override_modules.cpp b/src/modules/m_spanningtree/override_modules.cpp
index c47d642f8..bfeb0a03c 100644
--- a/src/modules/m_spanningtree/override_modules.cpp
+++ b/src/modules/m_spanningtree/override_modules.cpp
@@ -33,23 +33,23 @@
/* $ModDep: m_spanningtree/timesynctimer.h m_spanningtree/resolvers.h m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/link.h m_spanningtree/treesocket.h m_spanningtree/rconnect.h m_spanningtree/rsquit.h */
-int ModuleSpanningTree::HandleModules(const char* const* parameters, int pcnt, User* user)
+int ModuleSpanningTree::HandleModules(const std::vector<std::string>& parameters, User* user)
{
- if (pcnt > 0)
+ if (parameters.size() > 0)
{
- if (match(ServerInstance->Config->ServerName, parameters[0]))
+ if (match(ServerInstance->Config->ServerName, parameters[0].c_str()))
return 0;
std::deque<std::string> params;
params.push_back(parameters[0]);
- TreeServer* s = Utils->FindServerMask(parameters[0]);
+ TreeServer* s = Utils->FindServerMask(parameters[0].c_str());
if (s)
{
params[0] = s->GetName();
Utils->DoOneToOne(user->uuid, "MODULES", params, s->GetName());
}
else
- user->WriteServ( "402 %s %s :No such server", user->nick, parameters[0]);
+ user->WriteServ( "402 %s %s :No such server", user->nick, parameters[0].c_str());
return 1;
}
return 0;
diff --git a/src/modules/m_spanningtree/override_motd.cpp b/src/modules/m_spanningtree/override_motd.cpp
index 4aa94334a..a87042794 100644
--- a/src/modules/m_spanningtree/override_motd.cpp
+++ b/src/modules/m_spanningtree/override_motd.cpp
@@ -33,11 +33,11 @@
/* $ModDep: m_spanningtree/timesynctimer.h m_spanningtree/resolvers.h m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/link.h m_spanningtree/treesocket.h m_spanningtree/rconnect.h m_spanningtree/rsquit.h */
-int ModuleSpanningTree::HandleMotd(const char* const* parameters, int pcnt, User* user)
+int ModuleSpanningTree::HandleMotd(const std::vector<std::string>& parameters, User* user)
{
- if (pcnt > 0)
+ if (parameters.size() > 0)
{
- if (match(ServerInstance->Config->ServerName, parameters[0]))
+ if (match(ServerInstance->Config->ServerName, parameters[0].c_str()))
return 0;
/* Remote MOTD, the server is within the 1st parameter */
@@ -51,7 +51,7 @@ int ModuleSpanningTree::HandleMotd(const char* const* parameters, int pcnt, User
Utils->DoOneToOne(user->uuid, "MOTD", params, s->GetName());
}
else
- user->WriteServ( "402 %s %s :No such server", user->nick, parameters[0]);
+ user->WriteServ( "402 %s %s :No such server", user->nick, parameters[0].c_str());
return 1;
}
return 0;
diff --git a/src/modules/m_spanningtree/override_squit.cpp b/src/modules/m_spanningtree/override_squit.cpp
index 5f5eae15e..581a00ef5 100644
--- a/src/modules/m_spanningtree/override_squit.cpp
+++ b/src/modules/m_spanningtree/override_squit.cpp
@@ -33,14 +33,14 @@
/* $ModDep: m_spanningtree/timesynctimer.h m_spanningtree/resolvers.h m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/link.h m_spanningtree/treesocket.h m_spanningtree/rconnect.h m_spanningtree/rsquit.h */
-int ModuleSpanningTree::HandleSquit(const char* const* parameters, int pcnt, User* user)
+int ModuleSpanningTree::HandleSquit(const std::vector<std::string>& parameters, User* user)
{
TreeServer* s = Utils->FindServerMask(parameters[0]);
if (s)
{
if (s == Utils->TreeRoot)
{
- user->WriteServ("NOTICE %s :*** SQUIT: Foolish mortal, you cannot make a server SQUIT itself! (%s matches local server name)",user->nick,parameters[0]);
+ user->WriteServ("NOTICE %s :*** SQUIT: Foolish mortal, you cannot make a server SQUIT itself! (%s matches local server name)",user->nick,parameters[0].c_str());
return 1;
}
@@ -48,7 +48,7 @@ int ModuleSpanningTree::HandleSquit(const char* const* parameters, int pcnt, Use
if (sock)
{
- ServerInstance->SNO->WriteToSnoMask('l',"SQUIT: Server \002%s\002 removed from network by %s",parameters[0],user->nick);
+ ServerInstance->SNO->WriteToSnoMask('l',"SQUIT: Server \002%s\002 removed from network by %s",parameters[0].c_str(),user->nick);
sock->Squit(s,std::string("Server quit by ") + user->GetFullRealHost());
ServerInstance->SE->DelFd(sock);
sock->Close();
@@ -60,7 +60,7 @@ int ModuleSpanningTree::HandleSquit(const char* const* parameters, int pcnt, Use
}
else
{
- user->WriteServ("NOTICE %s :*** SQUIT: The server \002%s\002 does not exist on the network.",user->nick,parameters[0]);
+ user->WriteServ("NOTICE %s :*** SQUIT: The server \002%s\002 does not exist on the network.",user->nick,parameters[0].c_str());
}
return 1;
}
diff --git a/src/modules/m_spanningtree/override_stats.cpp b/src/modules/m_spanningtree/override_stats.cpp
index ba6650d6b..169454cc6 100644
--- a/src/modules/m_spanningtree/override_stats.cpp
+++ b/src/modules/m_spanningtree/override_stats.cpp
@@ -33,11 +33,11 @@
/* $ModDep: m_spanningtree/timesynctimer.h m_spanningtree/resolvers.h m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/link.h m_spanningtree/treesocket.h m_spanningtree/rconnect.h m_spanningtree/rsquit.h */
-int ModuleSpanningTree::HandleStats(const char* const* parameters, int pcnt, User* user)
+int ModuleSpanningTree::HandleStats(const std::vector<std::string>& parameters, User* user)
{
- if (pcnt > 1)
+ if (parameters.size() > 1)
{
- if (match(ServerInstance->Config->ServerName, parameters[1]))
+ if (match(ServerInstance->Config->ServerName, parameters[1].c_str()))
return 0;
/* Remote STATS, the server is within the 2nd parameter */
@@ -54,7 +54,7 @@ int ModuleSpanningTree::HandleStats(const char* const* parameters, int pcnt, Use
}
else
{
- user->WriteServ( "402 %s %s :No such server", user->nick, parameters[1]);
+ user->WriteServ( "402 %s %s :No such server", user->nick, parameters[1].c_str());
}
return 1;
}
diff --git a/src/modules/m_spanningtree/override_time.cpp b/src/modules/m_spanningtree/override_time.cpp
index 20f377979..c24e6c95d 100644
--- a/src/modules/m_spanningtree/override_time.cpp
+++ b/src/modules/m_spanningtree/override_time.cpp
@@ -33,11 +33,11 @@
/* $ModDep: m_spanningtree/timesynctimer.h m_spanningtree/resolvers.h m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/link.h m_spanningtree/treesocket.h m_spanningtree/rconnect.h m_spanningtree/rsquit.h */
-int ModuleSpanningTree::HandleTime(const char* const* parameters, int pcnt, User* user)
+int ModuleSpanningTree::HandleTime(const std::vector<std::string>& parameters, User* user)
{
- if ((IS_LOCAL(user)) && (pcnt))
+ if ((IS_LOCAL(user)) && (parameters.size() > 0))
{
- TreeServer* found = Utils->FindServerMask(parameters[0]);
+ TreeServer* found = Utils->FindServerMask(parameters[0].c_str());
if (found)
{
// we dont' override for local server
@@ -51,7 +51,7 @@ int ModuleSpanningTree::HandleTime(const char* const* parameters, int pcnt, User
}
else
{
- user->WriteNumeric(402, "%s %s :No such server",user->nick,parameters[0]);
+ user->WriteNumeric(402, "%s %s :No such server",user->nick,parameters[0].c_str());
}
}
return 1;
diff --git a/src/modules/m_spanningtree/override_whois.cpp b/src/modules/m_spanningtree/override_whois.cpp
index c846794f3..8e4d20b6f 100644
--- a/src/modules/m_spanningtree/override_whois.cpp
+++ b/src/modules/m_spanningtree/override_whois.cpp
@@ -33,9 +33,9 @@
/* $ModDep: m_spanningtree/timesynctimer.h m_spanningtree/resolvers.h m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/link.h m_spanningtree/treesocket.h m_spanningtree/rconnect.h m_spanningtree/rsquit.h */
-int ModuleSpanningTree::HandleRemoteWhois(const char* const* parameters, int pcnt, User* user)
+int ModuleSpanningTree::HandleRemoteWhois(const std::vector<std::string>& parameters, User* user)
{
- if ((IS_LOCAL(user)) && (pcnt > 1))
+ if ((IS_LOCAL(user)) && (parameters.size() > 1))
{
User* remote = ServerInstance->FindNick(parameters[1]);
if ((remote) && (remote->GetFd() < 0))
@@ -47,8 +47,8 @@ int ModuleSpanningTree::HandleRemoteWhois(const char* const* parameters, int pcn
}
else if (!remote)
{
- user->WriteNumeric(401, "%s %s :No such nick/channel",user->nick, parameters[1]);
- user->WriteNumeric(318, "%s %s :End of /WHOIS list.",user->nick, parameters[1]);
+ user->WriteNumeric(401, "%s %s :No such nick/channel",user->nick, parameters[1].c_str());
+ user->WriteNumeric(318, "%s %s :End of /WHOIS list.",user->nick, parameters[1].c_str());
return 1;
}
}
diff --git a/src/modules/m_spanningtree/postcommand.cpp b/src/modules/m_spanningtree/postcommand.cpp
index d303ef322..c485afe59 100644
--- a/src/modules/m_spanningtree/postcommand.cpp
+++ b/src/modules/m_spanningtree/postcommand.cpp
@@ -33,9 +33,9 @@
/* $ModDep: m_spanningtree/timesynctimer.h m_spanningtree/resolvers.h m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/link.h m_spanningtree/treesocket.h m_spanningtree/rconnect.h m_spanningtree/rsquit.h */
-void ModuleSpanningTree::OnPostCommand(const std::string &command, const char* const* parameters, int pcnt, User *user, CmdResult result, const std::string &original_line)
+void ModuleSpanningTree::OnPostCommand(const std::string &command, const std::vector<std::string>& parameters, User *user, CmdResult result, const std::string &original_line)
{
- if ((result == CMD_SUCCESS) && (ServerInstance->IsValidModuleCommand(command, pcnt, user)))
+ if ((result == CMD_SUCCESS) && (ServerInstance->IsValidModuleCommand(command, parameters.size(), user)))
{
/* Safe, we know its non-null because IsValidModuleCommand returned true */
Command* thiscmd = ServerInstance->Parser->GetHandler(command);
@@ -46,14 +46,14 @@ void ModuleSpanningTree::OnPostCommand(const std::string &command, const char* c
// commands and linking protocols.
std::deque<std::string> params;
params.clear();
- int n_translate = thiscmd->translation.size();
+ unsigned int n_translate = thiscmd->translation.size();
TranslateType translate_to;
/* To make sure that parameters with spaces, or empty
* parameters, etc, are always sent properly, *always*
* prefix the last parameter with a :. This also removes
* an extra strchr() */
- for (int j = 0; j < pcnt; j++)
+ for (unsigned int j = 0; j < parameters.size(); j++)
{
std::string target;
@@ -66,10 +66,10 @@ void ModuleSpanningTree::OnPostCommand(const std::string &command, const char* c
else
translate_to = TR_TEXT;
- ServerInstance->Logs->Log("m_spanningtree",DEBUG,"TRANSLATION: %s - type is %d", parameters[j], translate_to);
+ ServerInstance->Logs->Log("m_spanningtree",DEBUG,"TRANSLATION: %s - type is %d", parameters[j].c_str(), translate_to);
ServerInstance->Parser->TranslateUIDs(translate_to, parameters[j], target);
- if (j == (pcnt - 1))
+ if (j == (parameters.size() - 1))
params.push_back(":" + target);
else
params.push_back(target);
diff --git a/src/modules/m_spanningtree/precommand.cpp b/src/modules/m_spanningtree/precommand.cpp
index 64e9a90dd..2fdd9a5d5 100644
--- a/src/modules/m_spanningtree/precommand.cpp
+++ b/src/modules/m_spanningtree/precommand.cpp
@@ -33,7 +33,7 @@
/* $ModDep: m_spanningtree/timesynctimer.h m_spanningtree/resolvers.h m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/link.h m_spanningtree/treesocket.h m_spanningtree/rconnect.h m_spanningtree/rsquit.h */
-int ModuleSpanningTree::OnPreCommand(const std::string &command, const char* const* parameters, int pcnt, User *user, bool validated, const std::string &original_line)
+int ModuleSpanningTree::OnPreCommand(const std::string &command, const std::vector<std::string>& parameters, User *user, bool validated, const std::string &original_line)
{
/* If the command doesnt appear to be valid, we dont want to mess with it. */
if (!validated)
@@ -41,58 +41,58 @@ int ModuleSpanningTree::OnPreCommand(const std::string &command, const char* con
if (command == "CONNECT")
{
- return this->HandleConnect(parameters,pcnt,user);
+ return this->HandleConnect(parameters,user);
}
else if (command == "STATS")
{
- return this->HandleStats(parameters,pcnt,user);
+ return this->HandleStats(parameters,user);
}
else if (command == "MOTD")
{
- return this->HandleMotd(parameters,pcnt,user);
+ return this->HandleMotd(parameters,user);
}
else if (command == "ADMIN")
{
- return this->HandleAdmin(parameters,pcnt,user);
+ return this->HandleAdmin(parameters,user);
}
else if (command == "SQUIT")
{
- return this->HandleSquit(parameters,pcnt,user);
+ return this->HandleSquit(parameters,user);
}
else if (command == "MAP")
{
- return this->HandleMap(parameters,pcnt,user);
+ return this->HandleMap(parameters,user);
}
- else if ((command == "TIME") && (pcnt > 0))
+ else if ((command == "TIME") && (parameters.size() > 0))
{
- return this->HandleTime(parameters,pcnt,user);
+ return this->HandleTime(parameters,user);
}
else if (command == "LUSERS")
{
- this->HandleLusers(parameters,pcnt,user);
+ this->HandleLusers(parameters,user);
return 1;
}
else if (command == "LINKS")
{
- this->HandleLinks(parameters,pcnt,user);
+ this->HandleLinks(parameters,user);
return 1;
}
else if (command == "WHOIS")
{
- if (pcnt > 1)
+ if (parameters.size() > 1)
{
// remote whois
- return this->HandleRemoteWhois(parameters,pcnt,user);
+ return this->HandleRemoteWhois(parameters,user);
}
}
- else if ((command == "VERSION") && (pcnt > 0))
+ else if ((command == "VERSION") && (parameters.size() > 0))
{
- this->HandleVersion(parameters,pcnt,user);
+ this->HandleVersion(parameters,user);
return 1;
}
- else if ((command == "MODULES") && (pcnt > 0))
+ else if ((command == "MODULES") && (parameters.size() > 0))
{
- return this->HandleModules(parameters,pcnt,user);
+ return this->HandleModules(parameters,user);
}
return 0;
}
diff --git a/src/modules/m_spanningtree/rconnect.cpp b/src/modules/m_spanningtree/rconnect.cpp
index 32308377a..388f77ab7 100644
--- a/src/modules/m_spanningtree/rconnect.cpp
+++ b/src/modules/m_spanningtree/rconnect.cpp
@@ -36,27 +36,27 @@ cmd_rconnect::cmd_rconnect (InspIRCd* Instance, Module* Callback, SpanningTreeUt
syntax = "<remote-server-mask> <target-server-mask>";
}
-CmdResult cmd_rconnect::Handle (const char* const* parameters, int pcnt, User *user)
+CmdResult cmd_rconnect::Handle (const std::vector<std::string>& parameters, User *user)
{
if (IS_LOCAL(user))
{
if (!Utils->FindServerMask(parameters[0]))
{
- user->WriteServ("NOTICE %s :*** RCONNECT: Server \002%s\002 isn't connected to the network!", user->nick, parameters[0]);
+ user->WriteServ("NOTICE %s :*** RCONNECT: Server \002%s\002 isn't connected to the network!", user->nick, parameters[0].c_str());
return CMD_FAILURE;
}
- user->WriteServ("NOTICE %s :*** RCONNECT: Sending remote connect to \002%s\002 to connect server \002%s\002.",user->nick,parameters[0],parameters[1]);
+ user->WriteServ("NOTICE %s :*** RCONNECT: Sending remote connect to \002%s\002 to connect server \002%s\002.",user->nick,parameters[0].c_str(),parameters[1].c_str());
}
/* Is this aimed at our server? */
if (ServerInstance->MatchText(ServerInstance->Config->ServerName,parameters[0]))
{
/* Yes, initiate the given connect */
- ServerInstance->SNO->WriteToSnoMask('l',"Remote CONNECT from %s matching \002%s\002, connecting server \002%s\002",user->nick,parameters[0],parameters[1]);
- const char* para[1];
- para[0] = parameters[1];
+ ServerInstance->SNO->WriteToSnoMask('l',"Remote CONNECT from %s matching \002%s\002, connecting server \002%s\002",user->nick,parameters[0].c_str(),parameters[1].c_str());
+ std::vector<std::string> para(1);
+ para.push_back(parameters[1]);
std::string original_command = std::string("CONNECT ") + parameters[1];
- Creator->OnPreCommand("CONNECT", para, 1, user, true, original_command);
+ Creator->OnPreCommand("CONNECT", para, user, true, original_command);
}
return CMD_SUCCESS;
}
diff --git a/src/modules/m_spanningtree/rconnect.h b/src/modules/m_spanningtree/rconnect.h
index 94035dce2..b29bea550 100644
--- a/src/modules/m_spanningtree/rconnect.h
+++ b/src/modules/m_spanningtree/rconnect.h
@@ -22,7 +22,7 @@ class cmd_rconnect : public Command
SpanningTreeUtilities* Utils; /* Utility class */
public:
cmd_rconnect (InspIRCd* Instance, Module* Callback, SpanningTreeUtilities* Util);
- CmdResult Handle (const char* const* parameters, int pcnt, User *user);
+ CmdResult Handle (const std::vector<std::string>& parameters, User *user);
};
#endif
diff --git a/src/modules/m_spanningtree/rsquit.cpp b/src/modules/m_spanningtree/rsquit.cpp
index 0b3844f06..2a906dfe0 100644
--- a/src/modules/m_spanningtree/rsquit.cpp
+++ b/src/modules/m_spanningtree/rsquit.cpp
@@ -36,7 +36,7 @@ cmd_rsquit::cmd_rsquit (InspIRCd* Instance, Module* Callback, SpanningTreeUtilit
syntax = "<target-server-mask> [reason]";
}
-CmdResult cmd_rsquit::Handle (const char* const* parameters, int pcnt, User *user)
+CmdResult cmd_rsquit::Handle (const std::vector<std::string>& parameters, User *user)
{
TreeServer *server_target; // Server to squit
TreeServer *server_linked; // Server target is linked to
@@ -44,13 +44,13 @@ CmdResult cmd_rsquit::Handle (const char* const* parameters, int pcnt, User *use
server_target = Utils->FindServerMask(parameters[0]);
if (!server_target)
{
- user->WriteServ("NOTICE %s :*** RSQUIT: Server \002%s\002 isn't connected to the network!", user->nick, parameters[0]);
+ user->WriteServ("NOTICE %s :*** RSQUIT: Server \002%s\002 isn't connected to the network!", user->nick, parameters[0].c_str());
return CMD_FAILURE;
}
if (server_target == Utils->TreeRoot)
{
- NoticeUser(user, "*** RSQUIT: Foolish mortal, you cannot make a server SQUIT itself! ("+ConvToStr(parameters[0])+" matches local server name)");
+ NoticeUser(user, "*** RSQUIT: Foolish mortal, you cannot make a server SQUIT itself! ("+parameters[0]+" matches local server name)");
return CMD_FAILURE;
}
@@ -62,8 +62,8 @@ CmdResult cmd_rsquit::Handle (const char* const* parameters, int pcnt, User *use
TreeSocket* sock = server_target->GetSocket();
if (sock)
{
- const char *reason = pcnt == 2 ? parameters[1] : "No reason";
- ServerInstance->SNO->WriteToSnoMask('l',"RSQUIT: Server \002%s\002 removed from network by %s (%s)", parameters[0], user->nick, reason);
+ const char *reason = parameters.size() == 2 ? parameters[1].c_str() : "No reason";
+ ServerInstance->SNO->WriteToSnoMask('l',"RSQUIT: Server \002%s\002 removed from network by %s (%s)", parameters[0].c_str(), user->nick, reason);
sock->Squit(server_target, std::string("Server quit by ") + user->GetFullRealHost() + " (" + reason + ")");
ServerInstance->SE->DelFd(sock);
sock->Close();
diff --git a/src/modules/m_spanningtree/rsquit.h b/src/modules/m_spanningtree/rsquit.h
index 5dce2f310..eb4ae5f5b 100644
--- a/src/modules/m_spanningtree/rsquit.h
+++ b/src/modules/m_spanningtree/rsquit.h
@@ -22,7 +22,7 @@ class cmd_rsquit : public Command
SpanningTreeUtilities* Utils; /* Utility class */
public:
cmd_rsquit (InspIRCd* Instance, Module* Callback, SpanningTreeUtilities* Util);
- CmdResult Handle (const char* const* parameters, int pcnt, User *user);
+ CmdResult Handle (const std::vector<std::string>& parameters, User *user);
void NoticeUser(User* user, const std::string &msg);
};
diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp
index 3cd2f8920..915158f8d 100644
--- a/src/modules/m_spanningtree/treesocket2.cpp
+++ b/src/modules/m_spanningtree/treesocket2.cpp
@@ -366,10 +366,8 @@ bool TreeSocket::ProcessLine(std::string &line)
User* user = Instance->FindNick(prefix);
if (user)
{
- const char* ptrs[127];
- for (size_t n = 0; (n < params.size()) && (n < 127); ++n)
- ptrs[n] = params[n].c_str();
- return Utils->Creator->HandleMap(ptrs, params.size(), user);
+ std::vector<std::string> p(params.begin(), params.end());
+ return Utils->Creator->HandleMap(p, user);
}
}
else if (command == "SERVER")
@@ -549,9 +547,7 @@ bool TreeSocket::ProcessLine(std::string &line)
else if (command == "MODE")
{
// Server-prefix MODE.
- const char* modelist[MAXPARAMETERS];
- for (size_t i = 0; i < params.size(); i++)
- modelist[i] = params[i].c_str();
+ std::vector<std::string> modelist(params.begin(), params.end());
/* We don't support this for channel mode changes any more! */
if (params.size() >= 1)
@@ -564,7 +560,7 @@ bool TreeSocket::ProcessLine(std::string &line)
}
// Insert into the parser
- this->Instance->SendMode(modelist, params.size(), this->Instance->FakeClient);
+ this->Instance->SendMode(modelist, this->Instance->FakeClient);
// Pass out to the network
return Utils->DoOneToAllButSenderRaw(line,sourceserv,prefix,command,params);
@@ -617,13 +613,9 @@ bool TreeSocket::ProcessLine(std::string &line)
}
// its a user
- const char* strparams[127];
- for (unsigned int q = 0; q < params.size(); q++)
- {
- strparams[q] = params[q].c_str();
- }
+ std::vector<std::string> strparams(params.begin(), params.end());
- switch (this->Instance->CallCommandHandler(command.c_str(), strparams, params.size(), who))
+ switch (this->Instance->CallCommandHandler(command.c_str(), strparams, who))
{
case CMD_INVALID:
/*