diff options
author | Adam <Adam@anope.org> | 2013-11-23 22:12:33 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2013-11-23 22:12:33 -0500 |
commit | 90aa576fb3c1ceae434c2a7b794f13941c80b7b3 (patch) | |
tree | 938d944e802f73c2ac1c33802f8cd508fd1a17ef /modules/commands/cs_clone.cpp | |
parent | 77e57443416fc12f77a1bcf23a7f0341b8d12f9f (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.cpp | 14 |
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()); } |