From b752c3a668e035a75e0989ae85fddc893aec53f9 Mon Sep 17 00:00:00 2001 From: DukePyrolator Date: Fri, 13 Apr 2012 18:33:22 +0200 Subject: [PATCH] fixed a bug in chanstats --- modules/extra/m_chanstats.cpp | 9 +++++++-- src/channels.cpp | 4 ++-- src/servers.cpp | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/modules/extra/m_chanstats.cpp b/modules/extra/m_chanstats.cpp index 8f6d8ffb6..8aa7e0a6a 100644 --- a/modules/extra/m_chanstats.cpp +++ b/modules/extra/m_chanstats.cpp @@ -63,6 +63,9 @@ class MChanstats : public Module void GetTables() { TableList.clear(); + if (!sql) + return; + SQLResult r = this->sql->RunQuery(this->sql->GetTables()); for (int i = 0; i < r.Rows(); ++i) { @@ -160,8 +163,10 @@ class MChanstats : public Module Anope::string engine = config.ReadValue("chanstats", "engine", "", 0); this->sql = service_reference("SQLProvider", engine); - this->CheckTables(); - + if (sql) + this->CheckTables(); + else + Log() << "Chanstats: no database connection to " << engine; } void OnTopicUpdated(Channel *c, User *u, const Anope::string &topic) anope_override { diff --git a/src/channels.cpp b/src/channels.cpp index 6035d1657..3d9f8c7c6 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -537,7 +537,7 @@ void Channel::SetMode(BotInfo *bi, ChannelMode *cm, const Anope::string ¶m, } ModeManager::StackerAdd(bi, this, cm, true, param); - SetModeInternal(bi ? finduser(bi->nick) : NULL, cm, param, EnforceMLock); + SetModeInternal(bi, cm, param, EnforceMLock); } /** @@ -589,7 +589,7 @@ void Channel::RemoveMode(BotInfo *bi, ChannelMode *cm, const Anope::string ¶ } ModeManager::StackerAdd(bi, this, cm, false, realparam); - RemoveModeInternal(bi ? finduser(bi->nick) : NULL, cm, realparam, EnforceMLock); + RemoveModeInternal(bi, cm, realparam, EnforceMLock); } /** diff --git a/src/servers.cpp b/src/servers.cpp index 6ccd4c403..1db800227 100644 --- a/src/servers.cpp +++ b/src/servers.cpp @@ -70,7 +70,7 @@ Server::Server(Server *uplink, const Anope::string &name, unsigned hops, const A if (cm == NULL) cm = ModeManager::FindChannelModeByChar(ModeManager::GetStatusChar(want_modes[j])); if (cm && cm->Type == MODE_STATUS) - c->SetModeInternal(bi ? finduser(bi->nick) : NULL, cm, bi->nick); + c->SetModeInternal(bi, cm, bi->nick); } } }