diff options
author | Adam <Adam@anope.org> | 2012-12-19 08:48:04 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2012-12-19 08:48:23 -0500 |
commit | 784683a68dc3882f9507b9d304f4adf10fb403ae (patch) | |
tree | 7fa9d69db84f9a382bf5688adc5a007186e39a14 /modules/pseudoclients/hostserv.cpp | |
parent | 3b2094301d6cfb6ef4e17746c93a31f82d21a703 (diff) |
Having these references to bots bugged out older compilers, so simplify this by just moving pointers to the core
Diffstat (limited to 'modules/pseudoclients/hostserv.cpp')
-rw-r--r-- | modules/pseudoclients/hostserv.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/modules/pseudoclients/hostserv.cpp b/modules/pseudoclients/hostserv.cpp index 6f101720b..f46f3d86f 100644 --- a/modules/pseudoclients/hostserv.cpp +++ b/modules/pseudoclients/hostserv.cpp @@ -23,19 +23,23 @@ class HostServCore : public Module if (!IRCD || !IRCD->CanSetVHost) throw ModuleException("Your IRCd does not support vhosts"); - BotInfo *bi = BotInfo::Find(Config->HostServ); - if (!bi) + HostServ = BotInfo::Find(Config->HostServ); + if (!HostServ) throw ModuleException("No bot named " + Config->HostServ); - Implementation i[] = { I_OnNickIdentify, I_OnNickUpdate, I_OnPreHelp }; + Implementation i[] = { I_OnBotDelete, I_OnNickIdentify, I_OnNickUpdate, I_OnPreHelp }; ModuleManager::Attach(i, this, sizeof(i) / sizeof(Implementation)); - - Service::AddAlias("BotInfo", "HostServ", bi->nick); } ~HostServCore() { - Service::DelAlias("BotInfo", "HostServ"); + HostServ = NULL; + } + + void OnBotDelete(BotInfo *bi) anope_override + { + if (bi == HostServ) + HostServ = NULL; } void OnNickIdentify(User *u) anope_override |