From dcbaecd3275448b84f3d712e7f8cf09cd08446a6 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 6 Nov 2016 13:35:07 -0500 Subject: Remove some now unnecessary cleanup code, make nick depenend on account --- modules/chanserv/main/chanserv.cpp | 53 +++++--------------------------------- 1 file changed, 6 insertions(+), 47 deletions(-) (limited to 'modules/chanserv') diff --git a/modules/chanserv/main/chanserv.cpp b/modules/chanserv/main/chanserv.cpp index 59181e806..816e3031b 100644 --- a/modules/chanserv/main/chanserv.cpp +++ b/modules/chanserv/main/chanserv.cpp @@ -316,67 +316,26 @@ class ChanServCore : public Module if (newowner) { - ::Log(LOG_NORMAL, "chanserv/drop", ChanServ) << "Transferring foundership of " << ci->GetName() << " from deleted nick " << nc->GetDisplay() << " to " << newowner->GetDisplay(); + ::Log(LOG_NORMAL, "chanserv/drop", ChanServ) << "Transferring foundership of " << ci->GetName() << " from deleted account " << nc->GetDisplay() << " to " << newowner->GetDisplay(); ci->SetFounder(newowner); - ci->SetSuccessor(NULL); + + // Can't be both founder and successor + if (ci->GetSuccessor() == newowner) + ci->SetSuccessor(nullptr); } else { - ::Log(LOG_NORMAL, "chanserv/drop", ChanServ) << "Deleting channel " << ci->GetName() << " owned by deleted nick " << nc->GetDisplay(); + ::Log(LOG_NORMAL, "chanserv/drop", ChanServ) << "Deleting channel " << ci->GetName() << " owned by deleted account " << nc->GetDisplay(); ci->Delete(); continue; } } - - if (ci->GetSuccessor() == nc) - ci->SetSuccessor(NULL); - -#warning "these arent necessary?" - /* are these necessary? */ - for (unsigned j = 0; j < ci->GetAccessCount(); ++j) - { - ChanServ::ChanAccess *ca = ci->GetAccess(j); - NickServ::Account *anc = ca->GetAccount(); - - if (anc && anc == nc) - { - ca->Delete(); - break; - } - } - - for (unsigned j = 0; j < ci->GetAkickCount(); ++j) - { - AutoKick *ak = ci->GetAkick(j); - if (ak->GetAccount() == nc) - { - ak->Delete(); - break; - } - } } } void OnDelChan(ChanServ::Channel *ci) override { - /* remove access entries that are this channel */ - -#warning "also not necessary?" - for (ChanServ::Channel *c : ci->GetRefs()) - { - for (unsigned j = 0; j < c->GetAccessCount(); ++j) - { - ChanServ::ChanAccess *a = c->GetAccess(j); - - if (a->Mask().equals_ci(ci->GetName())) - { - a->Delete(); - break; - } - } - } - if (ci->c) { ci->c->RemoveMode(ci->WhoSends(), "REGISTERED", "", false); -- cgit