if (params.size() < 3)
return true;
- irc::modestacker modestack(true); /* Modes to apply from the users in the user list */
+ irc::modestacker modestack(Instance, true); /* Modes to apply from the users in the user list */
User* who = NULL; /* User we are currently checking */
std::string channel = params[0]; /* Channel name, as a string */
time_t TS = atoi(params[1].c_str()); /* Timestamp given to us for remote side */
if (params.size() > 3)
params[params.size() - 1] = ":" + params[params.size() - 1];
-
+
Utils->DoOneToAllButSender(source,"FJOIN",params,source);
if (!TS)
{
std::deque<std::string> param_list;
if (Utils->AnnounceTSChange && chan)
- chan->WriteChannelWithServ(Instance->Config->ServerName, "NOTICE %s :TS for %s changed from %lu to %lu", chan->name, chan->name, (unsigned long) ourTS, (unsigned long) TS);
+ chan->WriteChannelWithServ(Instance->Config->ServerName, "NOTICE %s :TS for %s changed from %lu to %lu", chan->name.c_str(), chan->name.c_str(), (unsigned long) ourTS, (unsigned long) TS);
ourTS = TS;
if (!created)
{
if (apply_other_sides_modes)
{
unsigned int idx = 2;
- int numpara = 1;
std::vector<std::string> modelist;
// Mode parser needs to know what channel to act on.
- modelist[0] = params[0];
+ modelist.push_back(params[0]);
/* Remember, params[params.size() - 1] is nicklist, and we don't want to apply *that* */
for (idx = 2; idx != (params.size() - 1); idx++)
{
- modelist[numpara++] = params[idx];
+ modelist.push_back(params[idx]);
}
this->Instance->SendMode(modelist, this->Instance->FakeClient);
/* Advance past the comma, to the nick */
usr++;
-
+
/* Check the user actually exists */
who = this->Instance->FindUUID(usr);
if (who)
{
std::deque<std::string> stackresult;
std::vector<std::string> mode_junk;
- mode_junk[0] = channel;
+ mode_junk.push_back(channel);
while (modestack.GetStackedLine(stackresult))
{
for (size_t j = 0; j < stackresult.size(); j++)
{
- mode_junk[j+1] = stackresult[j];
+ mode_junk.push_back(stackresult[j]);
}
Instance->SendMode(mode_junk, Instance->FakeClient);
}
if (c)
{
- irc::modestacker stack(false);
+ irc::modestacker stack(Instance, false);
std::deque<std::string> stackresult;
std::vector<std::string> mode_junk;
- mode_junk[0] = c->name;
+ mode_junk.push_back(c->name);
for (char modeletter = 'A'; modeletter <= 'z'; ++modeletter)
{
while (stack.GetStackedLine(stackresult))
{
for (size_t j = 0; j < stackresult.size(); j++)
- mode_junk[j+1] = stackresult[j];
+ mode_junk.push_back(stackresult[j]);
Instance->SendMode(mode_junk, Instance->FakeClient);
}
}
return true;
}
-
+