summaryrefslogtreecommitdiff
path: root/src/bots.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bots.cpp')
-rw-r--r--src/bots.cpp25
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)
{