aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_silence.cpp
diff options
context:
space:
mode:
authorGravatar brain2006-08-18 19:50:54 +0000
committerGravatar brain2006-08-18 19:50:54 +0000
commit34b7455eaade28e3a6cbcece234ca72dac72378b (patch)
treed0d56aed025c13d498f9b1c9be78f25219768888 /src/modules/m_silence.cpp
parentDont 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.cpp19
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++)
{