diff options
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) { |