diff options
author | Robin Burchell w00t@inspircd.org <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864> | 2008-09-30 22:38:19 +0000 |
---|---|---|
committer | Robin Burchell w00t@inspircd.org <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864> | 2008-09-30 22:38:19 +0000 |
commit | 4e7636c28e7b35df80555e9817b5415885604684 (patch) | |
tree | 6040ad7b56a8e229194256c80a7e790d81898dd3 /src/bots.cpp | |
parent | bbaba3e0032c2ef923ffdd6ce5d42a0045c787c0 (diff) |
Merge delbot() and cs_remove_bot() into BotInfo's destructor.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1281 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/bots.cpp')
-rw-r--r-- | src/bots.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/bots.cpp b/src/bots.cpp index f58858d48..fb77e0381 100644 --- a/src/bots.cpp +++ b/src/bots.cpp @@ -34,6 +34,31 @@ BotInfo::BotInfo(const char *nnick, const char *nuser, const char *nhost, const nbots++; } +BotInfo::~BotInfo() +{ + int i; + ChannelInfo *ci; + + for (i = 0; i < 256; i++) + for (ci = chanlists[i]; ci; ci = ci->next) + if (ci->bi == this) + ci->bi = NULL; + + if (this->next) + this->next->prev = this->prev; + if (this->prev) + this->prev->next = this->next; + else + botlists[tolower(*this->nick)] = this->next; + + nbots--; + + free(this->nick); + free(this->user); + free(this->host); + free(this->real); +} + void BotInfo::ChangeNick(const char *newnick) { |