summaryrefslogtreecommitdiff
path: root/src/modules/mysql/db_mysql_execute.cpp
diff options
context:
space:
mode:
authorAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2010-04-24 22:20:00 +0000
committerAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2010-04-24 22:20:00 +0000
commitb8674ee3fbaa9d631aa57156dfb34107072c4346 (patch)
tree305d83f01b9b85b66151e0706f3eeca56815f9b0 /src/modules/mysql/db_mysql_execute.cpp
parent9f47e2b137799fa44820d52cf791dbfd3d7912ec (diff)
Logout the SQLUser & any fake users after using commands
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2911 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/modules/mysql/db_mysql_execute.cpp')
-rw-r--r--src/modules/mysql/db_mysql_execute.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/modules/mysql/db_mysql_execute.cpp b/src/modules/mysql/db_mysql_execute.cpp
index 125bdfca0..dcae53ade 100644
--- a/src/modules/mysql/db_mysql_execute.cpp
+++ b/src/modules/mysql/db_mysql_execute.cpp
@@ -66,7 +66,6 @@ class FakeUser : public User
void SendMessage(const std::string &, const char *, ...) { }
void SendMessage(const std::string &, const std::string &) { }
- void Login(NickCore *core) { nc = core; }
NickCore *Account() const { return nc; }
const bool IsIdentified() const { return nc ? true : false; }
} SQLUser;
@@ -95,14 +94,15 @@ class SQLTimer : public Timer
{
User *u;
NickAlias *na = NULL;
+ bool logout = false;
/* If they want -SQLUser to execute the command, use it */
if (qres[i]["nick"] == "-SQLUser")
{
u = &SQLUser;
u->SetNewNick("-SQLUser");
- SQLCore.Users.clear();
u->Login(&SQLCore);
+ logout = true;
}
else
{
@@ -119,6 +119,7 @@ class SQLTimer : public Timer
u = &SQLUser;
u->SetNewNick(SQLAssign(qres[i]["nick"]));
u->Login(na->nc);
+ logout = true;
}
}
else
@@ -131,6 +132,7 @@ class SQLTimer : public Timer
u = &SQLUser;
u->SetNewNick(SQLAssign(qres[i]["nick"]));
u->Logout();
+ logout = true;
}
}
}
@@ -147,6 +149,9 @@ class SQLTimer : public Timer
char *cmd = strtok(cmdbuf, " ");
mod_run_cmd(bi->nick, u, bi->cmdTable, cmd);
delete [] cmdbuf;
+
+ if (logout)
+ u->Logout();
}
query << "TRUNCATE TABLE `anope_commands`";