summaryrefslogtreecommitdiff
path: root/modules/commands/cs_clone.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-11-23 22:12:33 -0500
committerAdam <Adam@anope.org>2013-11-23 22:12:33 -0500
commit90aa576fb3c1ceae434c2a7b794f13941c80b7b3 (patch)
tree938d944e802f73c2ac1c33802f8cd508fd1a17ef /modules/commands/cs_clone.cpp
parent77e57443416fc12f77a1bcf23a7f0341b8d12f9f (diff)
Fix/clean/clarify some stuff found by coverity scan
Diffstat (limited to 'modules/commands/cs_clone.cpp')
-rw-r--r--modules/commands/cs_clone.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/modules/commands/cs_clone.cpp b/modules/commands/cs_clone.cpp
index 40ef67b53..5a5d52065 100644
--- a/modules/commands/cs_clone.cpp
+++ b/modules/commands/cs_clone.cpp
@@ -133,16 +133,24 @@ public:
}
else if (what.equals_ci("BADWORDS"))
{
- BadWords *target_badwords = target_ci->GetExt<BadWords>("badwords"),
+ BadWords *target_badwords = target_ci->Require<BadWords>("badwords"),
*badwords = ci->Require<BadWords>("badwords");
- if (target_badwords)
+
+ if (target_badwords && badwords)
+ {
target_badwords->ClearBadWords();
- if (badwords)
+
for (unsigned i = 0; i < badwords->GetBadWordCount(); ++i)
{
const BadWord *bw = badwords->GetBadWord(i);
target_badwords->AddBadWord(bw->word, bw->type);
}
+ }
+
+ if (badwords)
+ badwords->Check();
+ if (target_badwords)
+ target_badwords->Check();
source.Reply(_("All badword entries from \002%s\002 have been cloned to \002%s\002."), channel.c_str(), target.c_str());
}