diff options
author | Adam <Adam@anope.org> | 2010-07-09 00:20:00 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-07-09 00:20:00 -0400 |
commit | 7e20659522abae28509a38f2010a5508eae3b6c3 (patch) | |
tree | 3b81fd041f223e446c875c46f9a182ebb1815943 /src | |
parent | 1cf4ebb231f2f7770b717a5e176d7bb5cbc66284 (diff) |
No need to allocate the numberlist callback classes with new
Diffstat (limited to 'src')
-rw-r--r-- | src/core/bs_badwords.cpp | 10 | ||||
-rw-r--r-- | src/core/cs_access.cpp | 15 | ||||
-rw-r--r-- | src/core/cs_akick.cpp | 15 | ||||
-rw-r--r-- | src/core/cs_xop.cpp | 10 | ||||
-rw-r--r-- | src/core/ms_del.cpp | 5 | ||||
-rw-r--r-- | src/core/ms_list.cpp | 5 | ||||
-rw-r--r-- | src/core/ms_read.cpp | 5 | ||||
-rw-r--r-- | src/core/os_akill.cpp | 15 | ||||
-rw-r--r-- | src/core/os_session.cpp | 15 | ||||
-rw-r--r-- | src/core/os_snline.cpp | 15 | ||||
-rw-r--r-- | src/core/os_sqline.cpp | 15 | ||||
-rw-r--r-- | src/core/os_szline.cpp | 15 | ||||
-rw-r--r-- | src/misc.cpp | 9 |
13 files changed, 118 insertions, 31 deletions
diff --git a/src/core/bs_badwords.cpp b/src/core/bs_badwords.cpp index b77607f79..822847a6a 100644 --- a/src/core/bs_badwords.cpp +++ b/src/core/bs_badwords.cpp @@ -87,7 +87,10 @@ class CommandBSBadwords : public Command if (!ci->GetBadWordCount()) notice_lang(Config.s_BotServ, u, BOT_BADWORDS_LIST_EMPTY, ci->name.c_str()); else if (!word.empty() && strspn(word.c_str(), "1234567890,-") == word.length()) - (new BadwordsListCallback(u, ci, word.c_str()))->Process(); + { + BadwordsListCallback list(u, ci, word.c_str()); + list.Process(); + } else { bool SentHeader = false; @@ -164,7 +167,10 @@ class CommandBSBadwords : public Command { /* Special case: is it a number/list? Only do search if it isn't. */ if (!word.empty() && isdigit(word[0]) && strspn(word.c_str(), "1234567890,-") == word.length()) - (new BadwordsDelCallback(u, ci, word.c_str()))->Process(); + { + BadwordsDelCallback list(u, ci, word.c_str()); + list.Process(); + } else { unsigned i, end; diff --git a/src/core/cs_access.cpp b/src/core/cs_access.cpp index da919c95a..514771d57 100644 --- a/src/core/cs_access.cpp +++ b/src/core/cs_access.cpp @@ -243,7 +243,10 @@ class CommandCSAccess : public Command if (!ci->GetAccessCount()) notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_EMPTY, ci->name.c_str()); else if (isdigit(*nick.c_str()) && strspn(nick.c_str(), "1234567890,-") == nick.length()) - (new AccessDelCallback(u, ci, nick.c_str()))->Process(); + { + AccessDelCallback list(u, ci, nick.c_str()); + list.Process(); + } else { NickAlias *na = findnick(nick); @@ -289,7 +292,10 @@ class CommandCSAccess : public Command if (!ci->GetAccessCount()) notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_EMPTY, ci->name.c_str()); else if (!nick.empty() && strspn(nick.c_str(), "1234567890,-") == nick.length()) - (new AccessListCallback(u, ci, nick.c_str()))->Process(); + { + AccessListCallback list(u, ci, nick.c_str()); + list.Process(); + } else { bool SentHeader = false; @@ -326,7 +332,10 @@ class CommandCSAccess : public Command if (!ci->GetAccessCount()) notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_LIST_EMPTY, ci->name.c_str()); else if (!nick.empty() && strspn(nick.c_str(), "1234567890,-") == nick.length()) - (new AccessViewCallback(u, ci, nick.c_str()))->Process(); + { + AccessViewCallback list(u, ci, nick.c_str()); + list.Process(); + } else { bool SentHeader = false; diff --git a/src/core/cs_akick.cpp b/src/core/cs_akick.cpp index d366304d5..771389207 100644 --- a/src/core/cs_akick.cpp +++ b/src/core/cs_akick.cpp @@ -365,7 +365,10 @@ class CommandCSAKick : public Command /* Special case: is it a number/list? Only do search if it isn't. */ if (isdigit(*mask.c_str()) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new AkickDelCallback(u, ci, mask.c_str()))->Process(); + { + AkickDelCallback list(u, ci, mask.c_str()); + list.Process(); + } else { NickAlias *na = findnick(mask); @@ -402,7 +405,10 @@ class CommandCSAKick : public Command } if (!mask.empty() && isdigit(*mask.c_str()) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new AkickListCallback(u, ci, mask.c_str()))->Process(); + { + AkickListCallback list(u, ci, mask.c_str()); + list.Process(); + } else { bool SentHeader = false; @@ -444,7 +450,10 @@ class CommandCSAKick : public Command } if (!mask.empty() && isdigit(*mask.c_str()) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new AkickViewCallback(u, ci, mask.c_str()))->Process(); + { + AkickViewCallback list(u, ci, mask.c_str()); + list.Process(); + } else { bool SentHeader = false; diff --git a/src/core/cs_xop.cpp b/src/core/cs_xop.cpp index 8e63b61e9..b4c5cd24d 100644 --- a/src/core/cs_xop.cpp +++ b/src/core/cs_xop.cpp @@ -312,7 +312,10 @@ class XOPBase : public Command /* Special case: is it a number/list? Only do search if it isn't. */ if (isdigit(*nick) && strspn(nick, "1234567890,-") == strlen(nick)) - (new XOPDelCallback(u, ci, messages, nick))->Process(); + { + XOPDelCallback list(u, ci, messages, nick); + list.Process(); + } else { NickAlias *na = findnick(nick); @@ -372,7 +375,10 @@ class XOPBase : public Command } if (nick && strspn(nick, "1234567890,-") == strlen(nick)) - (new XOPListCallback(u, ci, nick, level, messages))->Process(); + { + XOPListCallback list(u, ci, nick, level, messages); + list.Process(); + } else { bool SentHeader = false; diff --git a/src/core/ms_del.cpp b/src/core/ms_del.cpp index 7217f3baf..270bac4f3 100644 --- a/src/core/ms_del.cpp +++ b/src/core/ms_del.cpp @@ -88,7 +88,10 @@ class CommandMSDel : public Command else { if (isdigit(numstr[0])) - (new MemoDelCallback(u, ci, mi, numstr.c_str()))->Process(); + { + MemoDelCallback list(u, ci, mi, numstr.c_str()); + list.Process(); + } else if (numstr == "LAST") { /* Delete last memo. */ diff --git a/src/core/ms_list.cpp b/src/core/ms_list.cpp index 3b3a9600f..6630c28db 100644 --- a/src/core/ms_list.cpp +++ b/src/core/ms_list.cpp @@ -99,7 +99,10 @@ class CommandMSList : public Command else { if (!param.empty() && isdigit(param[0])) - (new MemoListCallback(u, ci, mi, param.c_str()))->Process(); + { + MemoListCallback list(u, ci, mi, param.c_str()); + list.Process(); + } else { if (!param.empty()) diff --git a/src/core/ms_read.cpp b/src/core/ms_read.cpp index 7b18f2d9e..d779471b3 100644 --- a/src/core/ms_read.cpp +++ b/src/core/ms_read.cpp @@ -119,7 +119,10 @@ class CommandMSRead : public Command MemoListCallback::DoRead(u, mi, ci, i); } else /* number[s] */ - (new MemoListCallback(u, mi, numstr.c_str()))->Process(); + { + MemoListCallback list(u, mi, numstr.c_str()); + list.Process(); + } } return MOD_CONT; } diff --git a/src/core/os_akill.cpp b/src/core/os_akill.cpp index a6eb05632..f572ec123 100644 --- a/src/core/os_akill.cpp +++ b/src/core/os_akill.cpp @@ -234,7 +234,10 @@ class CommandOSAKill : public Command } if (isdigit(mask[0]) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new AkillDelCallback(u, mask.c_str()))->Process(); + { + AkillDelCallback list(u, mask.c_str()); + list.Process(); + } else { XLine *x = SGLine->HasEntry(mask); @@ -268,7 +271,10 @@ class CommandOSAKill : public Command const ci::string mask = params.size() > 1 ? params[1] : ""; if (!mask.empty() && isdigit(mask[0]) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new AkillListCallback(u, mask.c_str()))->Process(); + { + AkillListCallback list(u, mask.c_str()); + list.Process(); + } else { bool SentHeader = false; @@ -309,7 +315,10 @@ class CommandOSAKill : public Command const ci::string mask = params.size() > 1 ? params[1] : ""; if (!mask.empty() && isdigit(mask[0]) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new AkillViewCallback(u, mask.c_str()))->Process(); + { + AkillViewCallback list(u, mask.c_str()); + list.Process(); + } else { bool SentHeader = false; diff --git a/src/core/os_session.cpp b/src/core/os_session.cpp index a0f52877e..4ec73460c 100644 --- a/src/core/os_session.cpp +++ b/src/core/os_session.cpp @@ -293,7 +293,10 @@ class CommandOSException : public Command } if (isdigit(*mask) && strspn(mask, "1234567890,-") == strlen(mask)) - (new ExceptionDelCallback(u, mask))->Process(); + { + ExceptionDelCallback list(u, mask); + list.Process(); + } else { int deleted = 0; @@ -382,7 +385,10 @@ class CommandOSException : public Command const char *mask = params.size() > 1 ? params[1].c_str() : NULL; if (mask && strspn(mask, "1234567890,-") == strlen(mask)) - (new ExceptionListCallback(u, mask))->Process(); + { + ExceptionListCallback list(u, mask); + list.Process(); + } else { bool SentHeader = false; @@ -414,7 +420,10 @@ class CommandOSException : public Command const char *mask = params.size() > 1 ? params[1].c_str() : NULL; if (mask && strspn(mask, "1234567890,-") == strlen(mask)) - (new ExceptionViewCallback(u, mask))->Process(); + { + ExceptionViewCallback list(u, mask); + list.Process(); + } else { bool SentHeader = false; diff --git a/src/core/os_snline.cpp b/src/core/os_snline.cpp index 73706a3dd..6dd252bec 100644 --- a/src/core/os_snline.cpp +++ b/src/core/os_snline.cpp @@ -252,7 +252,10 @@ class CommandOSSNLine : public Command } if (isdigit(mask[0]) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new SNLineDelCallback(u, mask.c_str()))->Process(); + { + SNLineDelCallback list(u, mask.c_str()); + list.Process(); + } else { XLine *x = SNLine->HasEntry(mask); @@ -286,7 +289,10 @@ class CommandOSSNLine : public Command const ci::string mask = params.size() > 1 ? params[1] : ""; if (!mask.empty() && isdigit(mask[0]) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new SNLineListCallback(u, mask.c_str()))->Process(); + { + SNLineListCallback list(u, mask.c_str()); + list.Process(); + } else { bool SentHeader = false; @@ -327,7 +333,10 @@ class CommandOSSNLine : public Command const ci::string mask = params.size() > 1 ? params[1] : ""; if (!mask.empty() && isdigit(mask[0]) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new SNLineViewCallback(u, mask.c_str()))->Process(); + { + SNLineViewCallback list(u, mask.c_str()); + list.Process(); + } else { bool SentHeader = false; diff --git a/src/core/os_sqline.cpp b/src/core/os_sqline.cpp index 39755525a..748625d26 100644 --- a/src/core/os_sqline.cpp +++ b/src/core/os_sqline.cpp @@ -233,7 +233,10 @@ class CommandOSSQLine : public Command } if (!mask.empty() && isdigit(mask[0]) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new SQLineDelCallback(u, mask.c_str()))->Process(); + { + SQLineDelCallback list(u, mask.c_str()); + list.Process(); + } else { XLine *x = SQLine->HasEntry(mask); @@ -267,7 +270,10 @@ class CommandOSSQLine : public Command const ci::string mask = params.size() > 1 ? params[1] : ""; if (!mask.empty() && isdigit(mask[0]) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new SQLineListCallback(u, mask.c_str()))->Process(); + { + SQLineListCallback list(u, mask.c_str()); + list.Process(); + } else { bool SentHeader = false; @@ -308,7 +314,10 @@ class CommandOSSQLine : public Command const ci::string mask = params.size() > 1 ? params[1] : ""; if (!mask.empty() && isdigit(mask[0]) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new SQLineViewCallback(u, mask.c_str()))->Process(); + { + SQLineViewCallback list(u, mask.c_str()); + list.Process(); + } else { bool SentHeader = false; diff --git a/src/core/os_szline.cpp b/src/core/os_szline.cpp index 93a6ed38b..3b1a09009 100644 --- a/src/core/os_szline.cpp +++ b/src/core/os_szline.cpp @@ -232,7 +232,10 @@ class CommandOSSZLine : public Command } if (!mask.empty() && isdigit(mask[0]) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new SZLineDelCallback(u, mask.c_str()))->Process(); + { + SZLineDelCallback list(u, mask.c_str()); + list.Process(); + } else { XLine *x = SZLine->HasEntry(mask); @@ -266,7 +269,10 @@ class CommandOSSZLine : public Command const ci::string mask = params.size() > 1 ? params[1] : ""; if (!mask.empty() && isdigit(mask[0]) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new SZLineListCallback(u, mask.c_str()))->Process(); + { + SZLineListCallback list(u, mask.c_str()); + list.Process(); + } else { bool SentHeader = false; @@ -305,7 +311,10 @@ class CommandOSSZLine : public Command const ci::string mask = params.size() > 1 ? params[1] : ""; if (!mask.empty() && isdigit(mask[0]) && strspn(mask.c_str(), "1234567890,-") == mask.length()) - (new SZLineViewCallback(u, mask.c_str()))->Process(); + { + SZLineViewCallback list(u, mask.c_str()); + list.Process(); + } else { bool SentHeader = false; diff --git a/src/misc.cpp b/src/misc.cpp index e8d6d14f3..eb8b28f83 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -223,7 +223,7 @@ const char *merge_args(int argc, char **argv) /*************************************************************************/ -NumberList::NumberList(const std::string &list, bool descending) : desc(descending) +NumberList::NumberList(const std::string &list, bool descending) : desc(descending), is_valid(true) { char *error; commasepstream sep(list); @@ -245,7 +245,7 @@ NumberList::NumberList(const std::string &list, bool descending) : desc(descendi { if (!this->InvalidRange(list)) { - delete this; + is_valid = false; return; } } @@ -264,7 +264,7 @@ NumberList::NumberList(const std::string &list, bool descending) : desc(descendi { if (!this->InvalidRange(list)) { - delete this; + is_valid = false; return; } } @@ -278,6 +278,9 @@ NumberList::~NumberList() void NumberList::Process() { + if (!is_valid) + return; + if (this->desc) { for (std::set<unsigned>::reverse_iterator it = numbers.rbegin(), it_end = numbers.rend(); it != it_end; ++it) |