diff options
author | Adam <Adam@anope.org> | 2013-09-14 04:18:56 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2013-09-27 19:10:49 -0400 |
commit | dcb3ff7d343f4ac2db55def9895ed459c1e3f417 (patch) | |
tree | 9092dffc3e3a294dc2462b940da8a38e0dbba95d /modules/commands/os_forbid.cpp | |
parent | 1107b92699407f80fcfa9e12a491468d6f57b1d9 (diff) |
Dont send BURST twice on inspircd
Drop matching nicks on forbid.
Diffstat (limited to 'modules/commands/os_forbid.cpp')
-rw-r--r-- | modules/commands/os_forbid.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/modules/commands/os_forbid.cpp b/modules/commands/os_forbid.cpp index 0099348b0..ec498a3ba 100644 --- a/modules/commands/os_forbid.cpp +++ b/modules/commands/os_forbid.cpp @@ -172,9 +172,29 @@ class CommandOSForbid : public Command switch (ftype) { case FT_NICK: + { + int na_matches = 0; + for (user_map::const_iterator it = UserListByNick.begin(); it != UserListByNick.end(); ++it) module->OnUserNickChange(it->second, ""); + + for (nickalias_map::const_iterator it = NickAliasList->begin(), it_end = NickAliasList->end(); it != it_end;) + { + NickAlias *na = it->second; + ++it; + + d = this->fs->FindForbid(na->nick, FT_NICK); + if (d == NULL) + continue; + + ++na_matches; + + delete na; + } + + source.Reply(_("\2%d\2 nicknames dropped."), na_matches); break; + } case FT_CHAN: { int chan_matches = 0, ci_matches = 0; |