diff options
| author | Adam <Adam@anope.org> | 2016-11-06 13:35:07 -0500 |
|---|---|---|
| committer | Adam <Adam@anope.org> | 2016-11-06 13:35:07 -0500 |
| commit | dcbaecd3275448b84f3d712e7f8cf09cd08446a6 (patch) | |
| tree | ca73a217a1a460538af4aeddf6292a355111f053 /modules/chanserv | |
| parent | 676e18e646aaae665a75e1c6da2220ea6f51b46e (diff) | |
Remove some now unnecessary cleanup code, make nick depenend on account
Diffstat (limited to 'modules/chanserv')
| -rw-r--r-- | modules/chanserv/main/chanserv.cpp | 53 |
1 files changed, 6 insertions, 47 deletions
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<ChanServ::Channel *>()) - { - 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); |
