diff options
| author | 2006-08-18 19:50:54 +0000 | |
|---|---|---|
| committer | 2006-08-18 19:50:54 +0000 | |
| commit | 34b7455eaade28e3a6cbcece234ca72dac72378b (patch) | |
| tree | d0d56aed025c13d498f9b1c9be78f25219768888 /src/modules/m_silence.cpp | |
| parent | Dont allow an empty away message (diff) | |
BAD SPECIAL BAD BAD! *hit with rolled up newspaper* test compile your commits :p
git-svn-id: http://svn.inspircd.org/repository/branches/1_0_stable@4969 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_silence.cpp')
| -rw-r--r-- | src/modules/m_silence.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/modules/m_silence.cpp b/src/modules/m_silence.cpp index 93eb2534b..ffbb8918f 100644 --- a/src/modules/m_silence.cpp +++ b/src/modules/m_silence.cpp @@ -74,20 +74,20 @@ class cmd_silence : public command_t if (sl->size()) { for (silencelist::iterator i = sl->begin(); i != sl->end(); i++) - { + { // search through for the item irc::string listitem = i->c_str(); irc::string target = nick; if (listitem == target) - { - sl->erase(i); + { + sl->erase(i); WriteServ(user->fd,"950 %s %s :Removed %s!*@* from silence list",user->nick, user->nick,nick); // we have modified the vector from within a loop, we must now bail out - break; + break; } } } - if (!sl->size()) + else { // tidy up -- if a user's list is empty, theres no use having it // hanging around in the user record. @@ -102,15 +102,16 @@ class cmd_silence : public command_t // fetch the user's current silence list silencelist* sl = (silencelist*)user->GetExt("silence_list"); // what, they dont have one??? WE'RE ALL GONNA DIE! ...no, we just create an empty one. + if (!nick || !isnick(nick)) + { + WriteServ(user->fd, "NOTICE %s :*** Invalid nickname '%s'",user->nick,nick); + return; + } if (!sl) { sl = new silencelist; user->Extend(std::string("silence_list"),(char*)sl); } - - if (!nick || !is_nick(nick)) - { - WriteServ(user->fd, " // add the nick to it -- silence only takes nicks for some reason even though its list shows masks for (silencelist::iterator n = sl->begin(); n != sl->end(); n++) { |
