From ffbd1eebf0b82bf40482879f410f58874030a695 Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 4 May 2008 21:37:36 +0000 Subject: Conversion of command handler params from "const char* const* parameters, int pcnt" to "const std::vector& parameters". All of core is converted, but cant test it till the modules are converted. IMPORTANT: The mode parser public calls have had to be tweaked a bit to also use the string vector. Note that this makes a LOT of our core a bit messy and paves the way to convert a lot of stuff from the mess of .c_str() calls to using std::string params directly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9608 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modes/cmode_b.cpp | 6 ++---- src/modes/cmode_h.cpp | 6 ++---- src/modes/cmode_k.cpp | 6 ++---- src/modes/cmode_o.cpp | 6 ++---- src/modes/cmode_v.cpp | 6 ++---- src/modes/umode_n.cpp | 6 ++++-- 6 files changed, 14 insertions(+), 22 deletions(-) (limited to 'src/modes') diff --git a/src/modes/cmode_b.cpp b/src/modes/cmode_b.cpp index 4eea2e44d..d6495313a 100644 --- a/src/modes/cmode_b.cpp +++ b/src/modes/cmode_b.cpp @@ -52,7 +52,6 @@ ModeAction ModeChannelBan::OnModeChange(User* source, User*, Channel* channel, s void ModeChannelBan::RemoveMode(Channel* channel, irc::modestacker* stack) { BanList copy; - char moderemove[MAXBUF]; for (BanList::iterator i = channel->bans.begin(); i != channel->bans.end(); i++) { @@ -67,9 +66,8 @@ void ModeChannelBan::RemoveMode(Channel* channel, irc::modestacker* stack) } else { - sprintf(moderemove,"-%c",this->GetModeChar()); - const char* parameters[] = { channel->name, moderemove, i->data }; - ServerInstance->SendMode(parameters, 3, ServerInstance->FakeClient); + std::vector parameters; parameters.push_back(channel->name); parameters.push_back("-b"); parameters.push_back(i->data); + ServerInstance->SendMode(parameters, ServerInstance->FakeClient); } } } diff --git a/src/modes/cmode_h.cpp b/src/modes/cmode_h.cpp index 8217ccc2d..6dd941353 100644 --- a/src/modes/cmode_h.cpp +++ b/src/modes/cmode_h.cpp @@ -49,7 +49,6 @@ void ModeChannelHalfOp::RemoveMode(Channel* channel, irc::modestacker* stack) { CUList* clist = channel->GetHalfoppedUsers(); CUList copy; - char moderemove[MAXBUF]; for (CUList::iterator i = clist->begin(); i != clist->end(); i++) { @@ -65,9 +64,8 @@ void ModeChannelHalfOp::RemoveMode(Channel* channel, irc::modestacker* stack) } else { - sprintf(moderemove,"-%c",this->GetModeChar()); - const char* parameters[] = { channel->name, moderemove, i->first->nick }; - ServerInstance->SendMode(parameters, 3, ServerInstance->FakeClient); + std::vector parameters; parameters.push_back(channel->name); parameters.push_back("-h"); parameters.push_back(i->first->nick); + ServerInstance->SendMode(parameters, ServerInstance->FakeClient); } } diff --git a/src/modes/cmode_k.cpp b/src/modes/cmode_k.cpp index 194c0efcb..0ab35b954 100644 --- a/src/modes/cmode_k.cpp +++ b/src/modes/cmode_k.cpp @@ -38,8 +38,6 @@ void ModeChannelKey::RemoveMode(Channel* channel, irc::modestacker* stack) /** +k needs a parameter when being removed, * so we have a special-case RemoveMode here for it */ - char moderemove[MAXBUF]; - const char* parameters[] = { channel->name, moderemove, channel->key }; if (channel->IsModeSet(this->GetModeChar())) { @@ -47,8 +45,8 @@ void ModeChannelKey::RemoveMode(Channel* channel, irc::modestacker* stack) stack->Push(this->GetModeChar(), channel->key); else { - sprintf(moderemove,"-%c",this->GetModeChar()); - ServerInstance->SendMode(parameters, 3, ServerInstance->FakeClient); + std::vector parameters; parameters.push_back(channel->name); parameters.push_back("-k"); parameters.push_back(channel->key); + ServerInstance->SendMode(parameters, ServerInstance->FakeClient); } } } diff --git a/src/modes/cmode_o.cpp b/src/modes/cmode_o.cpp index 3105d64ae..0582dbee5 100644 --- a/src/modes/cmode_o.cpp +++ b/src/modes/cmode_o.cpp @@ -50,7 +50,6 @@ void ModeChannelOp::RemoveMode(Channel* channel, irc::modestacker* stack) { CUList* clist = channel->GetOppedUsers(); CUList copy; - char moderemove[MAXBUF]; for (CUList::iterator i = clist->begin(); i != clist->end(); i++) { @@ -64,9 +63,8 @@ void ModeChannelOp::RemoveMode(Channel* channel, irc::modestacker* stack) stack->Push(this->GetModeChar(), i->first->nick); else { - sprintf(moderemove,"-%c",this->GetModeChar()); - const char* parameters[] = { channel->name, moderemove, i->first->nick }; - ServerInstance->SendMode(parameters, 3, ServerInstance->FakeClient); + std::vector parameters; parameters.push_back(channel->name); parameters.push_back("-o"); parameters.push_back(i->first->nick); + ServerInstance->SendMode(parameters, ServerInstance->FakeClient); } } } diff --git a/src/modes/cmode_v.cpp b/src/modes/cmode_v.cpp index 15196d4a8..8e13ba6f1 100644 --- a/src/modes/cmode_v.cpp +++ b/src/modes/cmode_v.cpp @@ -50,7 +50,6 @@ void ModeChannelVoice::RemoveMode(Channel* channel, irc::modestacker* stack) { CUList* clist = channel->GetVoicedUsers(); CUList copy; - char moderemove[MAXBUF]; for (CUList::iterator i = clist->begin(); i != clist->end(); i++) { @@ -64,9 +63,8 @@ void ModeChannelVoice::RemoveMode(Channel* channel, irc::modestacker* stack) stack->Push(this->GetModeChar(), i->first->nick); else { - sprintf(moderemove,"-%c",this->GetModeChar()); - const char* parameters[] = { channel->name, moderemove, i->first->nick }; - ServerInstance->SendMode(parameters, 3, ServerInstance->FakeClient); + std::vector parameters; parameters.push_back(channel->name); parameters.push_back("-v"); parameters.push_back(i->first->nick); + ServerInstance->SendMode(parameters, ServerInstance->FakeClient); } } } diff --git a/src/modes/umode_n.cpp b/src/modes/umode_n.cpp index db386a32b..fe75fd222 100644 --- a/src/modes/umode_n.cpp +++ b/src/modes/umode_n.cpp @@ -38,8 +38,10 @@ ModeAction ModeUserServerNoticeMask::OnModeChange(User* source, User* dest, Chan dest->modes[UM_SNOMASK] = true; if (!dest->modes[UM_SERVERNOTICE]) { - const char* newmodes[] = { dest->nick, "+s" }; - ServerInstance->Modes->Process(newmodes, 2, source, true); + std::vector newmodes; + newmodes.push_back(dest->nick); + newmodes.push_back("+s"); + ServerInstance->Modes->Process(newmodes, source, true); } return MODEACTION_ALLOW; } -- cgit v1.2.3