From 16e667a2cecf9492954333fc7949b6636072f941 Mon Sep 17 00:00:00 2001 From: cyberbotx Date: Sat, 22 Nov 2008 01:11:19 +0000 Subject: 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 --- src/core/bs_badwords.c | 8 ++--- src/core/bs_bot.c | 68 +++++++++++++++++++++---------------------- src/core/bs_fantasy_kick.c | 8 ++--- src/core/bs_fantasy_kickban.c | 4 +-- src/core/bs_fantasy_seen.c | 2 +- src/core/cs_akick.c | 50 +++++++++++++++---------------- src/core/cs_clear.c | 6 ++-- src/core/cs_identify.c | 6 ++-- src/core/cs_list.c | 14 ++++----- src/core/cs_logout.c | 6 ++-- src/core/cs_register.c | 2 +- src/core/cs_set.c | 10 +++---- src/core/cs_suspend.c | 4 +-- src/core/cs_topic.c | 4 +-- src/core/hs_group.c | 10 +++---- src/core/hs_list.c | 8 ++--- src/core/hs_set.c | 54 +++++++++++++++++----------------- src/core/hs_setall.c | 54 +++++++++++++++++----------------- src/core/ms_del.c | 6 ++-- src/core/ns_access.c | 6 ++-- src/core/ns_drop.c | 2 +- src/core/ns_forbid.c | 2 +- src/core/ns_group.c | 12 ++++---- src/core/ns_identify.c | 14 ++++----- src/core/ns_list.c | 10 +++---- src/core/ns_register.c | 17 +++++++---- src/core/ns_saset.c | 6 ++-- src/core/ns_set.c | 10 +++---- src/core/ns_update.c | 6 ++-- src/core/os_akill.c | 4 +-- src/core/os_chankill.c | 2 +- src/core/os_kick.c | 6 ++-- src/core/os_logonnews.c | 10 +++---- src/core/os_opernews.c | 8 ++--- src/core/os_quit.c | 6 ++-- src/core/os_reload.c | 6 ++-- src/core/os_restart.c | 6 ++-- src/core/os_shutdown.c | 6 ++-- 38 files changed, 232 insertions(+), 231 deletions(-) (limited to 'src/core') 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; return MOD_CONT; } if (strlen(vIdent) > USERMAX - 1) { notice_lang(s_HostServ, u, HOST_SET_IDENTTOOLONG, USERMAX); - free(vIdent); - free(rawhostmask); - free(hostmask); + delete [] vIdent; + delete [] rawhostmask; + delete [] hostmask; return MOD_CONT; } else { for (s = vIdent; *s; s++) { if (!isvalidchar(*s)) { notice_lang(s_HostServ, u, HOST_SET_IDENT_ERROR); - free(vIdent); - free(rawhostmask); - free(hostmask); + delete [] vIdent; + delete [] rawhostmask; + delete [] hostmask; return MOD_CONT; } } } if (!ircd->vident) { notice_lang(s_HostServ, u, HOST_NO_VIDENT); - free(vIdent); - free(rawhostmask); - free(hostmask); + delete [] vIdent; + delete [] rawhostmask; + delete [] hostmask; return MOD_CONT; } } @@ -111,20 +111,20 @@ int myDoSet(User * u) else { notice_lang(s_HostServ, u, HOST_SET_TOOLONG, HOSTMAX); if (vIdent) { - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; } - free(hostmask); + delete [] hostmask; return MOD_CONT; } if (!isValidHost(hostmask, 3)) { notice_lang(s_HostServ, u, HOST_SET_ERROR); if (vIdent) { - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; } - free(hostmask); + delete [] hostmask; return MOD_CONT; } @@ -135,10 +135,10 @@ int myDoSet(User * u) if (na->status & NS_VERBOTEN) { notice_lang(s_HostServ, u, NICK_X_FORBIDDEN, nick); if (vIdent) { - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; } - free(hostmask); + delete [] hostmask; return MOD_CONT; } if (vIdent && ircd->vident) { @@ -156,10 +156,10 @@ int myDoSet(User * u) } else { notice_lang(s_HostServ, u, HOST_NOREG, nick); } - free(hostmask); + delete [] hostmask; if (vIdent) { - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; } return MOD_CONT; } diff --git a/src/core/hs_setall.c b/src/core/hs_setall.c index 2c220f638..10555d7b7 100644 --- a/src/core/hs_setall.c +++ b/src/core/hs_setall.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$ * */ @@ -59,7 +59,7 @@ int do_setall(User * u) { char *nick = (char *)strtok(NULL, " "); char *rawhostmask = strtok(NULL, " "); - char *hostmask = (char *)smalloc(HOSTMAX); + char *hostmask = new char[HOSTMAX]; NickAlias *na; int32 tmp_time; @@ -69,7 +69,7 @@ int do_setall(User * u) if (!nick || !rawhostmask) { notice_lang(s_HostServ, u, HOST_SETALL_SYNTAX, s_HostServ); - free(hostmask); + delete [] hostmask; return MOD_CONT; } @@ -78,32 +78,32 @@ int do_setall(User * u) rawhostmask = myStrGetTokenRemainder(rawhostmask, '@', 1); /* get the remaining string */ if (!rawhostmask) { notice_lang(s_HostServ, u, HOST_SETALL_SYNTAX, s_HostServ); - free(vIdent); - free(hostmask); + delete [] vIdent; + delete [] hostmask; return MOD_CONT; } if (strlen(vIdent) > USERMAX - 1) { notice_lang(s_HostServ, u, HOST_SET_IDENTTOOLONG, USERMAX); - free(vIdent); - free(rawhostmask); - free(hostmask); + delete [] vIdent; + delete [] rawhostmask; + delete [] hostmask; return MOD_CONT; } else { for (s = vIdent; *s; s++) { if (!isvalidchar(*s)) { notice_lang(s_HostServ, u, HOST_SET_IDENT_ERROR); - free(vIdent); - free(rawhostmask); - free(hostmask); + delete [] vIdent; + delete [] rawhostmask; + delete [] hostmask; return MOD_CONT; } } } if (!ircd->vident) { notice_lang(s_HostServ, u, HOST_NO_VIDENT); - free(vIdent); - free(rawhostmask); - free(hostmask); + delete [] vIdent; + delete [] rawhostmask; + delete [] hostmask; return MOD_CONT; } } @@ -113,20 +113,20 @@ int do_setall(User * u) else { notice_lang(s_HostServ, u, HOST_SET_TOOLONG, HOSTMAX); if (vIdent) { - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; } - free(hostmask); + delete [] hostmask; return MOD_CONT; } if (!isValidHost(hostmask, 3)) { notice_lang(s_HostServ, u, HOST_SET_ERROR); if (vIdent) { - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; } - free(hostmask); + delete [] hostmask; return MOD_CONT; } @@ -136,10 +136,10 @@ int do_setall(User * u) if (na->status & NS_VERBOTEN) { notice_lang(s_HostServ, u, NICK_X_FORBIDDEN, nick); if (vIdent) { - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; } - free(hostmask); + delete [] hostmask; return MOD_CONT; } if (vIdent && ircd->vident) { @@ -158,10 +158,10 @@ int do_setall(User * u) notice_lang(s_HostServ, u, HOST_NOREG, nick); } if (vIdent) { - free(vIdent); - free(rawhostmask); + delete [] vIdent; + delete [] rawhostmask; } - free(hostmask); + delete [] hostmask; return MOD_CONT; } diff --git a/src/core/ms_del.c b/src/core/ms_del.c index 0924dd7d8..fb620a013 100644 --- a/src/core/ms_del.c +++ b/src/core/ms_del.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$ * */ @@ -135,7 +135,7 @@ int do_del(User * u) } else { /* Delete all memos. */ for (i = 0; i < mi->memocount; i++) { - free(mi->memos[i].text); + delete [] mi->memos[i].text; } free(mi->memos); mi->memos = NULL; diff --git a/src/core/ns_access.c b/src/core/ns_access.c index 502268cdf..c4409928d 100644 --- a/src/core/ns_access.c +++ b/src/core/ns_access.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$ * */ @@ -142,7 +142,7 @@ int do_access(User * u) } notice_lang(s_NickServ, u, NICK_ACCESS_DELETED, *access); - free(*access); + delete [] *access; na->nc->accesscount--; if (i < na->nc->accesscount) /* if it wasn't the last entry... */ memmove(access, access + 1, diff --git a/src/core/ns_drop.c b/src/core/ns_drop.c index 1d528dd45..77721815a 100644 --- a/src/core/ns_drop.c +++ b/src/core/ns_drop.c @@ -127,7 +127,7 @@ int do_drop(User * u) else notice_lang(s_NickServ, u, NICK_DROPPED); if (my_nick) { - free(my_nick); + delete [] my_nick; } } } diff --git a/src/core/ns_forbid.c b/src/core/ns_forbid.c index 7783024fb..427a2db5c 100644 --- a/src/core/ns_forbid.c +++ b/src/core/ns_forbid.c @@ -132,7 +132,7 @@ NickAlias *makenick(const char *nick) alog("%s: group %s has been created", s_NickServ, nc->display); /* Then make the alias */ - na = (NickAlias *)scalloc(1, sizeof(NickAlias)); + na = new NickAlias; na->nick = sstrdup(nick); na->nc = nc; slist_add(&nc->aliases, na); diff --git a/src/core/ns_group.c b/src/core/ns_group.c index 14ce0386f..c40d961ac 100644 --- a/src/core/ns_group.c +++ b/src/core/ns_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$ * */ @@ -177,9 +177,7 @@ int do_group(User * u) na = makealias(u->nick, target->nc); if (na) { - na->last_usermask = - (char *)scalloc(strlen(common_get_vident(u)) + - strlen(common_get_vhost(u)) + 2, 1); + na->last_usermask = new char[strlen(common_get_vident(u)) + strlen(common_get_vhost(u)) + 2]; sprintf(na->last_usermask, "%s@%s", common_get_vident(u), common_get_vhost(u)); na->last_realname = sstrdup(u->realname); @@ -208,7 +206,7 @@ int do_group(User * u) if (ircd->modeonreg) { len = strlen(ircd->modeonreg); strncpy(modes,ircd->modeonreg,512); - if(ircd->rootmodeonid && is_services_root(u)) { + if(ircd->rootmodeonid && is_services_root(u)) { strncat(modes,ircd->rootmodeonid,512-len); } else if(ircd->adminmodeonid && is_services_admin(u)) { strncat(modes,ircd->adminmodeonid,512-len); @@ -239,7 +237,7 @@ NickAlias *makealias(const char *nick, NickCore * nc) NickAlias *na; /* Just need to make the alias */ - na = (NickAlias *)scalloc(1, sizeof(NickAlias)); + na = new NickAlias; na->nick = sstrdup(nick); na->nc = nc; slist_add(&nc->aliases, na); diff --git a/src/core/ns_identify.c b/src/core/ns_identify.c index cd92731aa..ee328ef19 100644 --- a/src/core/ns_identify.c +++ b/src/core/ns_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$ * */ @@ -93,14 +93,12 @@ int do_identify(User * u) } else { if (!(na->status & NS_IDENTIFIED) && !(na->status & NS_RECOGNIZED)) { if (na->last_usermask) - free(na->last_usermask); - na->last_usermask = - (char *)scalloc(strlen(common_get_vident(u)) + - strlen(common_get_vhost(u)) + 2, 1); + delete [] na->last_usermask; + na->last_usermask = new char[strlen(common_get_vident(u)) + strlen(common_get_vhost(u)) + 2]; sprintf(na->last_usermask, "%s@%s", common_get_vident(u), common_get_vhost(u)); if (na->last_realname) - free(na->last_realname); + delete [] na->last_realname; na->last_realname = sstrdup(u->realname); } @@ -112,7 +110,7 @@ int do_identify(User * u) if (ircd->modeonreg) { len = strlen(ircd->modeonreg); strncpy(modes,ircd->modeonreg,512); - if(ircd->rootmodeonid && is_services_root(u)) { + if(ircd->rootmodeonid && is_services_root(u)) { strncat(modes,ircd->rootmodeonid,512-len); } else if(ircd->adminmodeonid && is_services_admin(u)) { strncat(modes,ircd->adminmodeonid,512-len); diff --git a/src/core/ns_list.c b/src/core/ns_list.c index f00160226..46863e209 100644 --- a/src/core/ns_list.c +++ b/src/core/ns_list.c @@ -109,13 +109,13 @@ 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); 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); @@ -123,13 +123,13 @@ 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); return MOD_CONT; } } to = atoi(tmp); - free(tmp); + delete [] tmp; pattern = sstrdup("*"); tofree = 1; } @@ -229,7 +229,7 @@ int do_list(User * u) nnicks > NSListMax ? NSListMax : nnicks, nnicks); } if (tofree) - free(pattern); + delete [] pattern; return MOD_CONT; } diff --git a/src/core/ns_register.c b/src/core/ns_register.c index 780101b98..692c21531 100644 --- a/src/core/ns_register.c +++ b/src/core/ns_register.c @@ -277,12 +277,16 @@ int do_confirm(User * u) if (stricmp(nr->passcode, passcode) != 0) { notice_lang(s_NickServ, u, NICK_CONFIRM_INVALID); + if (forced) + delete [] passcode; return MOD_CONT; } } if (!nr) { notice_lang(s_NickServ, u, NICK_REGISTRATION_FAILED); + if (forced) + delete [] passcode; return MOD_CONT; } @@ -314,9 +318,7 @@ int do_confirm(User * u) na->last_usermask = sstrdup("*@*"); na->last_realname = sstrdup("unknown"); } else { - na->last_usermask = - (char *)scalloc(strlen(common_get_vident(u)) + - strlen(common_get_vhost(u)) + 2, 1); + na->last_usermask = new char[strlen(common_get_vident(u)) + strlen(common_get_vhost(u)) + 2]; sprintf(na->last_usermask, "%s@%s", common_get_vident(u), common_get_vhost(u)); na->last_realname = sstrdup(u->realname); @@ -383,6 +385,11 @@ int do_confirm(User * u) if (NSNickTracking) nsStartNickTracking(u); + if (forced) + delete [] passcode; + if (email) + delete [] email; + return MOD_CONT; } @@ -390,7 +397,7 @@ NickRequest *makerequest(const char *nick) { NickRequest *nr; - nr = (NickRequest *)scalloc(1, sizeof(NickRequest)); + nr = new NickRequest; nr->nick = sstrdup(nick); insert_requestnick(nr); alog("%s: Nick %s has been requested", s_NickServ, nr->nick); @@ -412,7 +419,7 @@ NickAlias *makenick(const char *nick) alog("%s: group %s has been created", s_NickServ, nc->display); /* Then make the alias */ - na = (NickAlias *)scalloc(1, sizeof(NickAlias)); + na = new NickAlias; na->nick = sstrdup(nick); na->nc = nc; slist_add(&nc->aliases, na); diff --git a/src/core/ns_saset.c b/src/core/ns_saset.c index a1e922a4e..54fb2fc0f 100644 --- a/src/core/ns_saset.c +++ b/src/core/ns_saset.c @@ -241,7 +241,7 @@ int do_saset_password(User * u, NickCore * nc, char *param) int do_saset_url(User * u, NickCore * nc, char *param) { if (nc->url) - free(nc->url); + delete [] nc->url; if (param) { nc->url = sstrdup(param); @@ -274,7 +274,7 @@ int do_saset_email(User * u, NickCore * nc, char *param) (nc->email ? nc->email : "none")); if (nc->email) - free(nc->email); + delete [] nc->email; if (param) { nc->email = sstrdup(param); @@ -308,7 +308,7 @@ int do_saset_icq(User * u, NickCore * nc, char *param) int do_saset_greet(User * u, NickCore * nc, char *param) { if (nc->greet) - free(nc->greet); + delete [] nc->greet; if (param) { char buf[BUFSIZE]; diff --git a/src/core/ns_set.c b/src/core/ns_set.c index b6c91b281..4267f46b2 100644 --- a/src/core/ns_set.c +++ b/src/core/ns_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$ * */ @@ -233,7 +233,7 @@ int do_set_language(User * u, NickCore * nc, char *param) int do_set_url(User * u, NickCore * nc, char *param) { if (nc->url) - free(nc->url); + delete [] nc->url; if (param) { nc->url = sstrdup(param); @@ -260,7 +260,7 @@ int do_set_email(User * u, NickCore * nc, char *param) (nc->email ? nc->email : "none"), (param ? param : "none")); if (nc->email) - free(nc->email); + delete [] nc->email; if (param) { nc->email = sstrdup(param); @@ -292,7 +292,7 @@ int do_set_icq(User * u, NickCore * nc, char *param) int do_set_greet(User * u, NickCore * nc, char *param) { if (nc->greet) - free(nc->greet); + delete [] nc->greet; if (param) { char buf[BUFSIZE]; diff --git a/src/core/ns_update.c b/src/core/ns_update.c index 76794a86d..9c53886c1 100644 --- a/src/core/ns_update.c +++ b/src/core/ns_update.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$ * */ @@ -64,7 +64,7 @@ int do_nickupdate(User * u) do_setmodes(u); check_memos(u); if (na->last_realname) - free(na->last_realname); + delete [] na->last_realname; na->last_realname = sstrdup(u->realname); na->status |= NS_IDENTIFIED; na->last_seen = time(NULL); diff --git a/src/core/os_akill.c b/src/core/os_akill.c index c67433013..a85c50cb1 100644 --- a/src/core/os_akill.c +++ b/src/core/os_akill.c @@ -130,7 +130,7 @@ int do_akill(User * u) deleted = add_akill(u, mask, u->nick, expires, reason); if (deleted < 0) { if (AddAkiller) { - free(reason); + delete [] reason; } return MOD_CONT; } else if (deleted) { @@ -173,7 +173,7 @@ int do_akill(User * u) notice_lang(s_OperServ, u, READ_ONLY_MODE); } if (AddAkiller) { - free(reason); + delete [] reason; } } else { syntax_error(s_OperServ, u, "AKILL", OPER_AKILL_SYNTAX); diff --git a/src/core/os_chankill.c b/src/core/os_chankill.c index 881dee421..a69f1c6ec 100644 --- a/src/core/os_chankill.c +++ b/src/core/os_chankill.c @@ -111,7 +111,7 @@ int do_chankill(User * u) notice_lang(s_OperServ, u, CHAN_X_NOT_IN_USE, channel); } if (AddAkiller) { - free(reason); + delete [] reason; } } else { syntax_error(s_OperServ, u, "CHANKILL", OPER_CHANKILL_SYNTAX); diff --git a/src/core/os_kick.c b/src/core/os_kick.c index fd47318fe..26a2e7abc 100644 --- a/src/core/os_kick.c +++ b/src/core/os_kick.c @@ -80,9 +80,9 @@ int do_os_kick(User * u) argv[1] = sstrdup(nick); argv[2] = sstrdup(s); do_kick(s_OperServ, 3, argv); - free((void *)argv[2]); - free((void *)argv[1]); - free((void *)argv[0]); + delete [] argv[2]; + delete [] argv[1]; + delete [] argv[0]; return MOD_CONT; } diff --git a/src/core/os_logonnews.c b/src/core/os_logonnews.c index 0d26a543e..6588362de 100644 --- a/src/core/os_logonnews.c +++ b/src/core/os_logonnews.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$ * */ @@ -33,7 +33,7 @@ class OSLogonNews : public Module this->SetVersion("$Id$"); this->SetType(CORE); - /** + /** * For some unknown reason, do_logonnews is actaully defined in news.c * we can look at moving it here later **/ @@ -54,7 +54,7 @@ class OSLogonNews : public Module ~OSLogonNews() { - free(c->help_param1); + delete [] c->help_param1; } }; @@ -80,7 +80,7 @@ int reload_config(int argc, char **argv) { if (argc >= 1) { if (!stricmp(argv[0], EVENT_START)) { - free(c->help_param1); + delete [] c->help_param1; snprintf(buf, BUFSIZE, "%d", NewsCount), c->help_param1 = sstrdup(buf); } diff --git a/src/core/os_opernews.c b/src/core/os_opernews.c index 82fed8e76..69550267e 100644 --- a/src/core/os_opernews.c +++ b/src/core/os_opernews.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$ * */ @@ -50,7 +50,7 @@ class OSOperNews : public Module ~OSOperNews() { - free(c->help_param1); + delete [] c->help_param1; } }; @@ -74,7 +74,7 @@ int reload_config(int argc, char **argv) { if (argc >= 1) { if (!stricmp(argv[0], EVENT_START)) { - free(c->help_param1); + delete [] c->help_param1; snprintf(buf, BUFSIZE, "%d", NewsCount), c->help_param1 = sstrdup(buf); } diff --git a/src/core/os_quit.c b/src/core/os_quit.c index 019cf9617..a06bb6966 100644 --- a/src/core/os_quit.c +++ b/src/core/os_quit.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$ * */ @@ -55,7 +55,7 @@ void myOperServHelp(User * u) **/ int do_os_quit(User * u) { - quitmsg = (char *)calloc(28 + strlen(u->nick), 1); + quitmsg = new char[28 + strlen(u->nick)]; if (!quitmsg) quitmsg = "QUIT command received, but out of memory!"; else diff --git a/src/core/os_reload.c b/src/core/os_reload.c index 514fa42e7..9e4495ec4 100644 --- a/src/core/os_reload.c +++ b/src/core/os_reload.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$ * */ @@ -56,7 +56,7 @@ void myOperServHelp(User * u) int do_reload(User * u) { if (!read_config(1)) { - quitmsg = (char *)calloc(28 + strlen(u->nick), 1); + quitmsg = new char[28 + strlen(u->nick)]; if (!quitmsg) quitmsg = "Error during the reload of the configuration file, but out of memory!"; diff --git a/src/core/os_restart.c b/src/core/os_restart.c index e690de97e..fe0f8ddb7 100644 --- a/src/core/os_restart.c +++ b/src/core/os_restart.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$ * */ @@ -60,7 +60,7 @@ void myOperServHelp(User * u) int do_restart(User * u) { #ifdef SERVICES_BIN - quitmsg = (char *)calloc(31 + strlen(u->nick), 1); + quitmsg = new char[31 + strlen(u->nick)]; if (!quitmsg) quitmsg = "RESTART command received, but out of memory!"; else diff --git a/src/core/os_shutdown.c b/src/core/os_shutdown.c index 03099e410..32ab16141 100644 --- a/src/core/os_shutdown.c +++ b/src/core/os_shutdown.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$ * */ @@ -55,7 +55,7 @@ void myOperServHelp(User * u) **/ int do_shutdown(User * u) { - quitmsg = (char *)calloc(32 + strlen(u->nick), 1); + quitmsg = new char[32 + strlen(u->nick)]; if (!quitmsg) quitmsg = "SHUTDOWN command received, but out of memory!"; else -- cgit