summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorcyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-22 01:11:19 +0000
committercyberbotx <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>2008-11-22 01:11:19 +0000
commit16e667a2cecf9492954333fc7949b6636072f941 (patch)
tree746164afdc56c0a30dea0f1736c4129c1f1ad422 /src/core
parent1532aa675f7c28b8ff0061ebc21f374d36d89d65 (diff)
Replaced most uses of smalloc and scalloc with new, replaced most uses of free with delete.
NOTE: This build is unstable due to lack of memory zeroing, this will be addresses in a future commit. git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1783 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/core')
-rw-r--r--src/core/bs_badwords.c8
-rw-r--r--src/core/bs_bot.c68
-rw-r--r--src/core/bs_fantasy_kick.c8
-rw-r--r--src/core/bs_fantasy_kickban.c4
-rw-r--r--src/core/bs_fantasy_seen.c2
-rw-r--r--src/core/cs_akick.c50
-rw-r--r--src/core/cs_clear.c6
-rw-r--r--src/core/cs_identify.c6
-rw-r--r--src/core/cs_list.c14
-rw-r--r--src/core/cs_logout.c6
-rw-r--r--src/core/cs_register.c2
-rw-r--r--src/core/cs_set.c10
-rw-r--r--src/core/cs_suspend.c4
-rw-r--r--src/core/cs_topic.c4
-rw-r--r--src/core/hs_group.c10
-rw-r--r--src/core/hs_list.c8
-rw-r--r--src/core/hs_set.c54
-rw-r--r--src/core/hs_setall.c54
-rw-r--r--src/core/ms_del.c6
-rw-r--r--src/core/ns_access.c6
-rw-r--r--src/core/ns_drop.c2
-rw-r--r--src/core/ns_forbid.c2
-rw-r--r--src/core/ns_group.c12
-rw-r--r--src/core/ns_identify.c14
-rw-r--r--src/core/ns_list.c10
-rw-r--r--src/core/ns_register.c17
-rw-r--r--src/core/ns_saset.c6
-rw-r--r--src/core/ns_set.c10
-rw-r--r--src/core/ns_update.c6
-rw-r--r--src/core/os_akill.c4
-rw-r--r--src/core/os_chankill.c2
-rw-r--r--src/core/os_kick.c6
-rw-r--r--src/core/os_logonnews.c10
-rw-r--r--src/core/os_opernews.c8
-rw-r--r--src/core/os_quit.c6
-rw-r--r--src/core/os_reload.c6
-rw-r--r--src/core/os_restart.c6
-rw-r--r--src/core/os_shutdown.c6
38 files changed, 232 insertions, 231 deletions
diff --git a/src/core/bs_badwords.c b/src/core/bs_badwords.c
index 92561c26b..15e7c15ef 100644
--- a/src/core/bs_badwords.c
+++ b/src/core/bs_badwords.c
@@ -176,7 +176,7 @@ int do_badwords(User * u)
notice_lang(s_BotServ, u, BOT_BADWORDS_DELETED, bw->word,
ci->name);
if (bw->word)
- free(bw->word);
+ delete [] bw->word;
bw->word = NULL;
bw->in_use = 0;
deleted = 1;
@@ -194,7 +194,7 @@ int do_badwords(User * u)
ci->badwords[a].type = ci->badwords[b].type;
if (ci->badwords[b].word) {
ci->badwords[a].word = sstrdup(ci->badwords[b].word);
- free(ci->badwords[b].word);
+ delete [] ci->badwords[b].word;
}
ci->badwords[b].word = NULL;
ci->badwords[b].in_use = 0;
@@ -246,7 +246,7 @@ int do_badwords(User * u)
for (i = 0; i < ci->bwcount; i++)
if (ci->badwords[i].word)
- free(ci->badwords[i].word);
+ delete [] ci->badwords[i].word;
free(ci->badwords);
ci->badwords = NULL;
@@ -273,7 +273,7 @@ int badwords_del_callback(User * u, int num, va_list args)
bw = &ci->badwords[num - 1];
if (bw->word)
- free(bw->word);
+ delete [] bw->word;
bw->word = NULL;
bw->in_use = 0;
diff --git a/src/core/bs_bot.c b/src/core/bs_bot.c
index 946dd2d96..77e1f712e 100644
--- a/src/core/bs_bot.c
+++ b/src/core/bs_bot.c
@@ -58,7 +58,7 @@ int do_bot(User * u)
BotInfo *bi;
char *cmd = strtok(NULL, " ");
char *ch = NULL;
-
+
if (!cmd)
{
syntax_error(s_BotServ, u, "BOT", BOT_BOT_SYNTAX);
@@ -77,7 +77,7 @@ int do_bot(User * u)
char *user = strtok(NULL, " ");
char *host = strtok(NULL, " ");
char *real = strtok(NULL, "");
-
+
if (!nick || !user || !host || !real)
{
syntax_error(s_BotServ, u, "BOT", BOT_BOT_SYNTAX);
@@ -89,7 +89,7 @@ int do_bot(User * u)
notice_lang(s_BotServ, u, BOT_BOT_ALREADY_EXISTS, nick);
return MOD_CONT;
}
-
+
if (strlen(nick) > NickLen)
{
notice_lang(s_BotServ, u, BOT_BAD_NICK);
@@ -130,7 +130,7 @@ int do_bot(User * u)
notice_lang(s_BotServ, u, BOT_BAD_NICK);
return MOD_CONT;
}
-
+
/* Check the host is valid re RFC 2812 */
if (!isValidHost(host, 3))
{
@@ -146,7 +146,7 @@ int do_bot(User * u)
return MOD_CONT;
}
}
-
+
/* We check whether the nick is registered, and inform the user
* if so. You need to drop the nick manually before you can use
@@ -157,30 +157,30 @@ int do_bot(User * u)
notice_lang(s_BotServ, u, NICK_ALREADY_REGISTERED, nick);
return MOD_CONT;
}
-
+
bi = new BotInfo(nick);
if (!bi)
{
notice_lang(s_BotServ, u, BOT_BOT_CREATION_FAILED);
return MOD_CONT;
}
-
+
bi->user = sstrdup(user);
bi->host = sstrdup(host);
bi->real = sstrdup(real);
bi->created = time(NULL);
bi->chancount = 0;
-
+
/* We check whether user with this nick is online, and kill it if so */
EnforceQlinedNick(nick, s_BotServ);
-
+
/* We make the bot online, ready to serve */
- ircdproto->SendClientIntroduction(bi->nick, bi->user, bi->host, bi->real,
+ ircdproto->SendClientIntroduction(bi->nick, bi->user, bi->host, bi->real,
ircd->pseudoclient_mode, bi->uid.c_str());
-
+
notice_lang(s_BotServ, u, BOT_BOT_ADDED, bi->nick, bi->user,
bi->host, bi->real);
-
+
send_event(EVENT_BOT_CREATE, 1, bi->nick);
}
else if (!stricmp(cmd, "CHANGE"))
@@ -190,7 +190,7 @@ int do_bot(User * u)
char *user = strtok(NULL, " ");
char *host = strtok(NULL, " ");
char *real = strtok(NULL, "");
-
+
if (!oldnick || !nick)
{
syntax_error(s_BotServ, u, "BOT", BOT_BOT_SYNTAX);
@@ -240,7 +240,7 @@ int do_bot(User * u)
notice_lang(s_BotServ, u, BOT_BOT_ANY_CHANGES);
return MOD_CONT;
}
-
+
/* Check the nick is valid re RFC 2812 */
if (isdigit(nick[0]) || nick[0] == '-')
{
@@ -256,20 +256,20 @@ int do_bot(User * u)
return MOD_CONT;
}
}
-
+
/* check for hardcored ircd forbidden nicks */
if (!ircdproto->IsNickValid(nick))
{
notice_lang(s_BotServ, u, BOT_BAD_NICK);
return MOD_CONT;
}
-
+
if (host && !isValidHost(host, 3))
{
notice_lang(s_BotServ, u, BOT_BAD_HOST);
return MOD_CONT;
}
-
+
if (user)
{
for (ch = user; *ch && (ch - user) < USERMAX; ch++)
@@ -281,13 +281,13 @@ int do_bot(User * u)
}
}
}
-
+
if (stricmp(bi->nick, nick) && findbot(nick))
{
notice_lang(s_BotServ, u, BOT_BOT_ALREADY_EXISTS, nick);
return MOD_CONT;
}
-
+
if (stricmp(bi->nick, nick))
{
/* We check whether the nick is registered, and inform the user
@@ -299,37 +299,37 @@ int do_bot(User * u)
notice_lang(s_BotServ, u, NICK_ALREADY_REGISTERED, nick);
return MOD_CONT;
}
-
+
/* The new nick is really different, so we remove the Q line for
the old nick. */
if (ircd->sqline)
{
ircdproto->SendSQLineDel(bi->nick);
}
-
+
/* We check whether user with this nick is online, and kill it if so */
EnforceQlinedNick(nick, s_BotServ);
}
-
+
if (strcmp(nick, bi->nick))
bi->ChangeNick(nick);
-
+
if (user && strcmp(user, bi->user))
{
- free(bi->user);
+ delete [] bi->user;
bi->user = sstrdup(user);
}
if (host && strcmp(host, bi->host))
{
- free(bi->host);
+ delete [] bi->host;
bi->host = sstrdup(host);
}
if (real && strcmp(real, bi->real))
{
- free(bi->real);
+ delete [] bi->real;
bi->real = sstrdup(real);
}
-
+
/* If only the nick changes, we just make the bot change his nick,
* else we must make it quit and rejoin. We must not forget to set
* the Q:Line either (it's otherwise set in SendClientIntroduction)
@@ -346,34 +346,34 @@ int do_bot(User * u)
ircd->pseudoclient_mode, bi->uid.c_str());
bi->RejoinAll();
}
-
+
notice_lang(s_BotServ, u, BOT_BOT_CHANGED,
oldnick, bi->nick, bi->user, bi->host, bi->real);
-
+
send_event(EVENT_BOT_CHANGE, 1, bi->nick);
}
else if (!stricmp(cmd, "DEL"))
{
char *nick = strtok(NULL, " ");
-
+
if (!nick)
{
syntax_error(s_BotServ, u, "BOT", BOT_BOT_SYNTAX);
return MOD_CONT;
}
-
+
if (!(bi = findbot(nick)))
{
notice_lang(s_BotServ, u, BOT_DOES_NOT_EXIST, nick);
return MOD_CONT;
}
-
+
if (nickIsServices(nick, 0))
{
notice_lang(s_BotServ, u, BOT_DOES_NOT_EXIST);
return MOD_CONT;
}
-
+
send_event(EVENT_BOT_DEL, 1, bi->nick);
ircdproto->SendQuit(bi, "Quit: Help! I'm being deleted by %s!", u->nick);
ircdproto->SendSQLineDel(bi->nick);
@@ -382,7 +382,7 @@ int do_bot(User * u)
}
else
syntax_error(s_BotServ, u, "BOT", BOT_BOT_SYNTAX);
-
+
return MOD_CONT;
}
diff --git a/src/core/bs_fantasy_kick.c b/src/core/bs_fantasy_kick.c
index f5c3018b6..98c176425 100644
--- a/src/core/bs_fantasy_kick.c
+++ b/src/core/bs_fantasy_kick.c
@@ -6,8 +6,8 @@
* Please read COPYING and README for further details.
*
* Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
+ * Based on the original code of Services by Andy Church.
+ *
* $Id$
*
*/
@@ -77,9 +77,9 @@ int do_fantasy(int argc, char **argv)
}
if (target)
- free(target);
+ delete [] target;
if (reason)
- free(reason);
+ delete [] reason;
return MOD_CONT;
}
diff --git a/src/core/bs_fantasy_kickban.c b/src/core/bs_fantasy_kickban.c
index 1281d938b..1167caf30 100644
--- a/src/core/bs_fantasy_kickban.c
+++ b/src/core/bs_fantasy_kickban.c
@@ -79,9 +79,9 @@ int do_fantasy(int argc, char **argv)
}
if (target)
- free(target);
+ delete [] target;
if (reason)
- free(reason);
+ delete [] reason;
return MOD_CONT;
}
diff --git a/src/core/bs_fantasy_seen.c b/src/core/bs_fantasy_seen.c
index 76e9a0273..0a9236aa0 100644
--- a/src/core/bs_fantasy_seen.c
+++ b/src/core/bs_fantasy_seen.c
@@ -127,7 +127,7 @@ int do_fantasy(int argc, char **argv)
ircdproto->SendPrivmsg(ci->bi, ci->name, "%s", buf);
}
/* free myStrGetToken(ed) variable target (#851) */
- Anope_Free(target);
+ if (target) delete [] target;
}
return MOD_CONT;
diff --git a/src/core/cs_akick.c b/src/core/cs_akick.c
index 94fa7c826..df4bd69f5 100644
--- a/src/core/cs_akick.c
+++ b/src/core/cs_akick.c
@@ -6,8 +6,8 @@
* Please read COPYING and README for further details.
*
* Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
+ * Based on the original code of Services by Andy Church.
+ *
* $Id$
*
*/
@@ -62,15 +62,15 @@ int akick_del(User * u, AutoKick * akick)
if (akick->flags & AK_ISNICK) {
akick->u.nc = NULL;
} else {
- free(akick->u.mask);
+ delete [] akick->u.mask;
akick->u.mask = NULL;
}
if (akick->reason) {
- free(akick->reason);
+ delete [] akick->reason;
akick->reason = NULL;
}
if (akick->creator) {
- free(akick->creator);
+ delete [] akick->creator;
akick->creator = NULL;
}
akick->addtime = 0;
@@ -206,13 +206,12 @@ int do_akick(User * u)
if (!na) {
split_usermask(mask, &nick, &user, &host);
- mask =
- (char *)scalloc(strlen(nick) + strlen(user) + strlen(host) + 3, 1);
+ mask = new char[strlen(nick) + strlen(user) + strlen(host) + 3];
freemask = 1;
sprintf(mask, "%s!%s@%s", nick, user, host);
- free(nick);
- free(user);
- free(host);
+ delete [] nick;
+ delete [] user;
+ delete [] host;
} else {
if (na->status & NS_VERBOTEN) {
notice_lang(s_ChanServ, u, NICK_X_FORBIDDEN, mask);
@@ -226,18 +225,18 @@ int do_akick(User * u)
if (is_excepted_mask(ci, mask) == 1) {
notice_lang(s_ChanServ, u, CHAN_EXCEPTED, mask, chan);
if (freemask)
- free(mask);
+ delete [] mask;
return MOD_CONT;
}
}
- /* Check whether target nick has equal/higher access
+ /* Check whether target nick has equal/higher access
* or whether the mask matches a user with higher/equal access - Viper */
if ((ci->flags & CI_PEACE) && nc) {
if ((nc == ci->founder) || (get_access_nc(nc, ci) >= get_access(u, ci))) {
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
if (freemask)
- free(mask);
+ delete [] mask;
return MOD_CONT;
}
} else if ((ci->flags & CI_PEACE)) {
@@ -249,7 +248,7 @@ int do_akick(User * u)
if (is_founder(u2, ci) || (get_access(u2, ci) >= get_access(u, ci))) {
if (match_usermask(mask, u2)) {
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
- free(mask);
+ delete [] mask;
return MOD_CONT;
}
}
@@ -263,12 +262,12 @@ int do_akick(User * u)
if (na2->status & NS_VERBOTEN)
continue;
- if (na2->nc && ((na2->nc == ci->founder) || (get_access_nc(na2->nc, ci)
+ if (na2->nc && ((na2->nc == ci->founder) || (get_access_nc(na2->nc, ci)
>= get_access(u, ci)))) {
snprintf(buf, BUFSIZE, "%s!%s", na2->nick, na2->last_usermask);
if (match_wild_nocase(mask, buf)) {
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
- free(mask);
+ delete [] mask;
return MOD_CONT;
}
}
@@ -285,7 +284,7 @@ int do_akick(User * u)
(akick->flags & AK_ISNICK) ? akick->u.nc->
display : akick->u.mask, chan);
if (freemask)
- free(mask);
+ delete [] mask;
return MOD_CONT;
}
}
@@ -295,7 +294,7 @@ int do_akick(User * u)
if (ci->akickcount >= CSAutokickMax) {
notice_lang(s_ChanServ, u, CHAN_AKICK_REACHED_LIMIT, CSAutokickMax);
if (freemask)
- free(mask);
+ delete [] mask;
return MOD_CONT;
}
ci->akickcount++;
@@ -335,10 +334,9 @@ int do_akick(User * u)
do_kick(s_ChanServ, 3, argv);
- // XXX: casting is necessary thanks to strict g++ stuff, really, we should be using std::string here though.
- free((void *)argv[2]);
- free((void *)argv[1]);
- free((void *)argv[0]);
+ delete [] argv[2];
+ delete [] argv[1];
+ delete [] argv[0];
count++;
}
@@ -352,7 +350,7 @@ int do_akick(User * u)
count);
if (freemask)
- free(mask);
+ delete [] mask;
} else if (stricmp(cmd, "STICK") == 0) {
NickAlias *na;
@@ -603,9 +601,9 @@ int do_akick(User * u)
do_kick(s_ChanServ, 3, argv);
- free((void *)argv[2]);
- free((void *)argv[1]);
- free((void *)argv[0]);
+ delete [] argv[2];
+ delete [] argv[1];
+ delete [] argv[0];
count++;
}
diff --git a/src/core/cs_clear.c b/src/core/cs_clear.c
index 9fca88548..3d2e13fdf 100644
--- a/src/core/cs_clear.c
+++ b/src/core/cs_clear.c
@@ -347,9 +347,9 @@ int do_clear(User * u)
av[2] = sstrdup(buf);
ircdproto->SendKick(whosends(ci), av[0], av[1], av[2]);
do_kick(s_ChanServ, 3, av);
- free((void *)av[2]);
- free((void *)av[1]);
- free((void *)av[0]);
+ delete [] av[2];
+ delete [] av[1];
+ delete [] av[0];
}
notice_lang(s_ChanServ, u, CHAN_CLEARED_USERS, chan);
} else {
diff --git a/src/core/cs_identify.c b/src/core/cs_identify.c
index baad140e8..219c23ea4 100644
--- a/src/core/cs_identify.c
+++ b/src/core/cs_identify.c
@@ -6,8 +6,8 @@
* Please read COPYING and README for further details.
*
* Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
+ * Based on the original code of Services by Andy Church.
+ *
* $Id$
*
*/
@@ -77,7 +77,7 @@ int do_identify(User * u)
if ((res = enc_check_password(pass, ci->founderpass)) == 1) {
if (!is_identified(u, ci)) {
- uc = (struct u_chaninfolist *)scalloc(sizeof(*uc), 1);
+ uc = new u_chaninfolist;
uc->next = u->founder_chans;
if (u->founder_chans)
u->founder_chans->prev = uc;
diff --git a/src/core/cs_list.c b/src/core/cs_list.c
index 7c2d3fba2..da2732067 100644
--- a/src/core/cs_list.c
+++ b/src/core/cs_list.c
@@ -91,14 +91,14 @@ int do_list(User * u)
}
for (s = tmp; *s; s++) {
if (!isdigit(*s)) {
- free(tmp);
+ delete [] tmp;
notice_lang(s_ChanServ, u, LIST_INCORRECT_RANGE);
notice_lang(s_ChanServ, u, CS_LIST_INCORRECT_RANGE);
return MOD_CONT;
}
}
from = atoi(tmp);
- free(tmp);
+ delete [] tmp;
tmp = myStrGetTokenRemainder(pattern, '-', 1); /* Read TO out */
if (!tmp) {
notice_lang(s_ChanServ, u, LIST_INCORRECT_RANGE);
@@ -107,14 +107,14 @@ int do_list(User * u)
}
for (s = tmp; *s; s++) {
if (!isdigit(*s)) {
- free(tmp);
+ delete [] tmp;
notice_lang(s_ChanServ, u, LIST_INCORRECT_RANGE);
notice_lang(s_ChanServ, u, CS_LIST_INCORRECT_RANGE);
return MOD_CONT;
}
}
to = atoi(tmp);
- free(tmp);
+ delete [] tmp;
pattern = sstrdup("*");
tofree = 1;
}
@@ -132,7 +132,7 @@ int do_list(User * u)
}
spattern_size = (strlen(pattern) + 2) * sizeof(char);
- spattern = (char *)smalloc(spattern_size);
+ spattern = new char[spattern_size];
snprintf(spattern, spattern_size, "#%s", pattern);
@@ -176,10 +176,10 @@ int do_list(User * u)
}
notice_lang(s_ChanServ, u, CHAN_LIST_END,
nchans > CSListMax ? CSListMax : nchans, nchans);
- free(spattern);
+ delete [] spattern;
}
if (tofree)
- free(pattern);
+ delete [] pattern;
return MOD_CONT;
}
diff --git a/src/core/cs_logout.c b/src/core/cs_logout.c
index 16e2a8ebc..457fe90e3 100644
--- a/src/core/cs_logout.c
+++ b/src/core/cs_logout.c
@@ -6,8 +6,8 @@
* Please read COPYING and README for further details.
*
* Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
+ * Based on the original code of Services by Andy Church.
+ *
* $Id$
*
*/
@@ -109,7 +109,7 @@ void make_unidentified(User * u, ChannelInfo * ci)
uci->prev->next = uci->next;
else
u->founder_chans = uci->next;
- free(uci);
+ delete uci;
break;
}
}
diff --git a/src/core/cs_register.c b/src/core/cs_register.c
index 524790330..44de7947c 100644
--- a/src/core/cs_register.c
+++ b/src/core/cs_register.c
@@ -153,7 +153,7 @@ int do_register(User * u)
notice_lang(s_ChanServ, u, CHAN_PASSWORD_IS, tmp_pass);
}
- uc = (struct u_chaninfolist *)scalloc(sizeof(*uc), 1);
+ uc = new u_chaninfolist;
uc->next = u->founder_chans;
uc->prev = NULL;
if (u->founder_chans)
diff --git a/src/core/cs_set.c b/src/core/cs_set.c
index 0a49d259d..f6ed8611b 100644
--- a/src/core/cs_set.c
+++ b/src/core/cs_set.c
@@ -374,7 +374,7 @@ int do_set_password(User * u, ChannelInfo * ci, char *param)
int do_set_desc(User * u, ChannelInfo * ci, char *param)
{
if (ci->desc)
- free(ci->desc);
+ delete [] ci->desc;
ci->desc = sstrdup(param);
notice_lang(s_ChanServ, u, CHAN_DESC_CHANGED, ci->name, param);
return MOD_CONT;
@@ -385,7 +385,7 @@ int do_set_desc(User * u, ChannelInfo * ci, char *param)
int do_set_url(User * u, ChannelInfo * ci, char *param)
{
if (ci->url)
- free(ci->url);
+ delete [] ci->url;
if (param) {
ci->url = sstrdup(param);
notice_lang(s_ChanServ, u, CHAN_URL_CHANGED, ci->name, param);
@@ -401,7 +401,7 @@ int do_set_url(User * u, ChannelInfo * ci, char *param)
int do_set_email(User * u, ChannelInfo * ci, char *param)
{
if (ci->email)
- free(ci->email);
+ delete [] ci->email;
if (param) {
ci->email = sstrdup(param);
notice_lang(s_ChanServ, u, CHAN_EMAIL_CHANGED, ci->name, param);
@@ -417,7 +417,7 @@ int do_set_email(User * u, ChannelInfo * ci, char *param)
int do_set_entrymsg(User * u, ChannelInfo * ci, char *param)
{
if (ci->entry_message)
- free(ci->entry_message);
+ delete [] ci->entry_message;
if (param) {
ci->entry_message = sstrdup(param);
notice_lang(s_ChanServ, u, CHAN_ENTRY_MSG_CHANGED, ci->name,
@@ -498,7 +498,7 @@ int do_set_mlock(User * u, ChannelInfo * ci, char *param)
if ((ci->mlock_on & ircd->chan_lmode)
&& !(ci->mlock_on & anope_get_limit_mode())) {
ci->mlock_on &= ~ircd->chan_lmode;
- free(ci->mlock_redirect);
+ delete [] ci->mlock_redirect;
notice_lang(s_ChanServ, u, CHAN_SET_MLOCK_L_REQUIRED);
}
}
diff --git a/src/core/cs_suspend.c b/src/core/cs_suspend.c
index fd9500e90..a1bab7c08 100644
--- a/src/core/cs_suspend.c
+++ b/src/core/cs_suspend.c
@@ -169,12 +169,12 @@ int do_unsuspend(User * u)
ci->flags &= ~CI_SUSPENDED;
if (ci->forbidreason)
{
- free(ci->forbidreason);
+ delete [] ci->forbidreason;
ci->forbidreason = NULL;
}
if (ci->forbidby)
{
- free(ci->forbidby);
+ delete [] ci->forbidby;
ci->forbidby = NULL;
}
diff --git a/src/core/cs_topic.c b/src/core/cs_topic.c
index 111042403..fa43bef20 100644
--- a/src/core/cs_topic.c
+++ b/src/core/cs_topic.c
@@ -71,13 +71,13 @@ int do_cs_topic(User * u)
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
} else {
if (ci->last_topic)
- free(ci->last_topic);
+ delete [] ci->last_topic;
ci->last_topic = topic ? sstrdup(topic) : NULL;
strscpy(ci->last_topic_setter, u->nick, NICKMAX);
ci->last_topic_time = time(NULL);
if (c->topic)
- free(c->topic);
+ delete [] c->topic;
c->topic = topic ? sstrdup(topic) : NULL;
strscpy(c->topic_setter, u->nick, NICKMAX);
if (ircd->topictsbackward) {
diff --git a/src/core/hs_group.c b/src/core/hs_group.c
index 336e5be92..a8e077639 100644
--- a/src/core/hs_group.c
+++ b/src/core/hs_group.c
@@ -6,8 +6,8 @@
* Please read COPYING and README for further details.
*
* Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
+ * Based on the original code of Services by Andy Church.
+ *
* $Id$
*
*/
@@ -93,10 +93,10 @@ int do_group(User * u)
notice_lang(s_HostServ, u, HOST_GROUP, na->nc->display,
vHost);
}
- free(vHost);
+ delete [] vHost;
if (vIdent)
- free(vIdent);
- free(creator);
+ delete [] vIdent;
+ delete [] creator;
} else {
notice_lang(s_HostServ, u, HOST_NOT_ASSIGNED);
diff --git a/src/core/hs_list.c b/src/core/hs_list.c
index 46db3ab40..fe6ed7782 100644
--- a/src/core/hs_list.c
+++ b/src/core/hs_list.c
@@ -85,13 +85,13 @@ int listOut(User * u)
}
for (s = tmp; *s; s++) {
if (!isdigit(*s)) {
- free(tmp);
+ delete [] tmp;
notice_lang(s_ChanServ, u, LIST_INCORRECT_RANGE);
return MOD_CONT;
}
}
from = atoi(tmp);
- free(tmp);
+ delete [] tmp;
tmp = myStrGetTokenRemainder(key, '-', 1); /* Read TO out */
if (!tmp) {
notice_lang(s_ChanServ, u, LIST_INCORRECT_RANGE);
@@ -99,13 +99,13 @@ int listOut(User * u)
}
for (s = tmp; *s; s++) {
if (!isdigit(*s)) {
- free(tmp);
+ delete [] tmp;
notice_lang(s_ChanServ, u, LIST_INCORRECT_RANGE);
return MOD_CONT;
}
}
to = atoi(tmp);
- free(tmp);
+ delete [] tmp;
key = NULL;
}
}
diff --git a/src/core/hs_set.c b/src/core/hs_set.c
index 9886c1ce4..ab158dc84 100644
--- a/src/core/hs_set.c
+++ b/src/core/hs_set.c
@@ -6,8 +6,8 @@
* Please read COPYING and README for further details.
*
* Based on the original code of Epona by Lara.
- * Based on the original code of Services by Andy Church.
- *
+ * Based on the original code of Services by Andy Church.
+ *
* $Id$
*
*/
@@ -58,7 +58,7 @@ int myDoSet(User * u)
{
char *nick = strtok(NULL, " ");
char *rawhostmask = strtok(NULL, " ");
- char *hostmask = (char *)smalloc(HOSTMAX);
+ char *hostmask = new char[HOSTMAX];
NickAlias *na;
int32 tmp_time;
@@ -68,7 +68,7 @@ int myDoSet(User * u)
if (!nick || !rawhostmask) {
notice_lang(s_HostServ, u, HOST_SET_SYNTAX, s_HostServ);
- free(hostmask);
+ delete [] hostmask;
return MOD_CONT;
}
@@ -77,32 +77,32 @@ int myDoSet(User * u)
rawhostmask = myStrGetTokenRemainder(rawhostmask, '@', 1); /* get the remaining string */
if (!rawhostmask) {
notice_lang(s_HostServ, u, HOST_SET_SYNTAX, s_HostServ);
- free(vIdent);
- free(hostmask);
+ delete [] vIdent;
+ delete [] hostmask;