From 11f88ab2cc6dd6c932d8984ba4063c93b59aa166 Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Tue, 3 Aug 2010 21:05:10 -0400 Subject: Use the remote channel's capitalization on a losing TS merge --- src/modules/m_spanningtree/fjoin.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/m_spanningtree/fjoin.cpp b/src/modules/m_spanningtree/fjoin.cpp index be32410ef..ea217b398 100644 --- a/src/modules/m_spanningtree/fjoin.cpp +++ b/src/modules/m_spanningtree/fjoin.cpp @@ -91,9 +91,11 @@ CmdResult CommandFJoin::Handle(const std::vector& params, User *src /* Our TS greater than theirs, clear all our modes from the channel, accept theirs. */ ServerInstance->SNO->WriteToSnoMask('d', "Removing our modes, accepting remote"); parameterlist param_list; - if (Utils->AnnounceTSChange && chan) - chan->WriteChannelWithServ(ServerInstance->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); + if (Utils->AnnounceTSChange) + chan->WriteChannelWithServ(ServerInstance->Config->ServerName, "NOTICE %s :TS for %s changed from %lu to %lu", chan->name.c_str(), channel.c_str(), (unsigned long) ourTS, (unsigned long) TS); ourTS = TS; + // while the name is equal in case-insensitive compare, it might differ in case; use the remote version + chan->name = channel; chan->age = TS; param_list.push_back(channel); this->RemoveStatus(ServerInstance->FakeClient, param_list); -- cgit v1.2.3