summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/ns_logout.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/ns_logout.c b/src/core/ns_logout.c
index 8b5310084..f51a553d1 100644
--- a/src/core/ns_logout.c
+++ b/src/core/ns_logout.c
@@ -31,6 +31,7 @@ class CommandNSLogout : public Command
const char *param = params.size() > 1 ? params[1].c_str() : NULL;
User *u2;
NickAlias *na;
+ struct u_chaninfolist *ci, *ci2;
if (!u->nc->IsServicesOper() && nick)
this->OnSyntaxError(u);
@@ -63,6 +64,16 @@ class CommandNSLogout : public Command
u2->isSuperAdmin = 0; /* Dont let people logout and remain a SuperAdmin */
alog("%s: %s!%s@%s logged out nickname %s", s_NickServ, u->nick, u->GetIdent().c_str(), u->host, u2->nick);
+ /* Remove founder status from this user in all channels */
+ ci = u2->founder_chans;
+ while (ci)
+ {
+ ci2 = ci->next;
+ delete ci;
+ ci = ci2;
+ }
+ u2->founder_chans = NULL;
+
if (nick)
notice_lang(s_NickServ, u, NICK_LOGOUT_X_SUCCEEDED, nick);
else