summaryrefslogtreecommitdiff
path: root/src/bots.cpp
diff options
context:
space:
mode:
authorRobin Burchell w00t@inspircd.org <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864>2008-09-30 22:38:19 +0000
committerRobin Burchell w00t@inspircd.org <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864>2008-09-30 22:38:19 +0000
commit4e7636c28e7b35df80555e9817b5415885604684 (patch)
tree6040ad7b56a8e229194256c80a7e790d81898dd3 /src/bots.cpp
parentbbaba3e0032c2ef923ffdd6ce5d42a0045c787c0 (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.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)
{