X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Ffjoin.cpp;h=a6c52e41b66af85c8eb9d392d38cfd0a5a686624;hb=961109ae4fde97144fdedeef25607a5b8b3ec2c2;hp=42be7e7813f930e903518a78e7cb5c3e1fca3152;hpb=69b13d17e655964b75d927ac33e72e070ee4dba0;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/fjoin.cpp b/src/modules/m_spanningtree/fjoin.cpp index 42be7e781..a6c52e41b 100644 --- a/src/modules/m_spanningtree/fjoin.cpp +++ b/src/modules/m_spanningtree/fjoin.cpp @@ -42,7 +42,7 @@ class FwdFJoinBuilder : public CommandFJoin::Builder }; /** FJOIN, almost identical to TS6 SJOIN, except for nicklist handling. */ -CmdResult CommandFJoin::Handle(User* srcuser, std::vector& params) +CmdResult CommandFJoin::Handle(User* srcuser, Params& params) { /* 1.1+ FJOIN works as follows: * @@ -85,7 +85,7 @@ CmdResult CommandFJoin::Handle(User* srcuser, std::vector& params) * drop the link to avoid desync. * * InspIRCd 2.0 and older required a comma before the uuid even if the user - * had no prefix modes on the channel, InspIRCd 2.2 and later does not require + * had no prefix modes on the channel, InspIRCd 3.0 and later does not require * a comma in this case anymore. * * is a positive integer representing the id of the membership. @@ -133,7 +133,7 @@ CmdResult CommandFJoin::Handle(User* srcuser, std::vector& params) time_t ourTS = chan->age; if (TS != ourTS) { - ServerInstance->SNO->WriteToSnoMask('d', "Merge FJOIN received for %s, ourTS: %lu, TS: %lu, difference: %ld", + ServerInstance->Logs->Log(MODNAME, LOG_DEBUG, "Merge FJOIN received for %s, ourTS: %lu, TS: %lu, difference: %ld", chan->name.c_str(), (unsigned long)ourTS, (unsigned long)TS, (long)(ourTS - TS)); /* If our TS is less than theirs, we dont accept their modes */ if (ourTS < TS) @@ -179,7 +179,7 @@ CmdResult CommandFJoin::Handle(User* srcuser, std::vector& params) FwdFJoinBuilder fwdfjoin(chan, sourceserver); // Process every member in the message - irc::tokenstream users(params.back()); + irc::spacesepstream users(params.back()); std::string item; Modes::ChangeList* modechangelistptr = (apply_other_sides_modes ? &modechangelist : NULL); while (users.GetToken(item)) @@ -188,7 +188,7 @@ CmdResult CommandFJoin::Handle(User* srcuser, std::vector& params) } fwdfjoin.finalize(); - fwdfjoin.Forward(sourceserver); + fwdfjoin.Forward(sourceserver->GetRoute()); // Set prefix modes on their users if we lost the FJOIN or had equal TS if (apply_other_sides_modes) @@ -276,7 +276,8 @@ void CommandFJoin::RemoveStatus(Channel* c) void CommandFJoin::LowerTS(Channel* chan, time_t TS, const std::string& newname) { if (Utils->AnnounceTSChange) - chan->WriteNotice(InspIRCd::Format("TS for %s changed from %lu to %lu", newname.c_str(), (unsigned long) chan->age, (unsigned long) TS)); + chan->WriteNotice(InspIRCd::Format("Creation time of %s changed from %s to %s", newname.c_str(), + InspIRCd::TimeString(chan->age).c_str(), InspIRCd::TimeString(TS).c_str())); // While the name is equal in case-insensitive compare, it might differ in case; use the remote version chan->name = newname;