summaryrefslogtreecommitdiff
path: root/src/users.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-10-28 11:41:38 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-10-28 11:41:38 +0000
commitae23edb3981c3252a66d7afcc35af359d5f7e116 (patch)
tree23683ee5a5c2dabc41c9b67c68d843f91a50f2f0 /src/users.cpp
parente3ac0dbb561b53359ac8d900237adc9b3a2546bc (diff)
Unknown change here
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5559 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/users.cpp')
-rw-r--r--src/users.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/users.cpp b/src/users.cpp
index fd0a6f8dc..7d2d8549a 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -98,6 +98,24 @@ std::string userrec::ProcessNoticeMasks(const char *sm)
case '-':
adding = false;
break;
+ case '*':
+ for (unsigned char d = 'A'; d <= 'z'; d++)
+ {
+ if (ServerInstance->SNO->IsEnabled(d))
+ {
+ if ((!IsNoticeMaskSet(d) && adding) || (IsNoticeMaskSet(d) && !adding))
+ {
+ if ((oldadding != adding) || (!output.length()))
+ output += (adding ? '+' : '-');
+
+ this->SetNoticeMask(d, adding);
+
+ output += d;
+ }
+ }
+ oldadding = adding;
+ }
+ break;
default:
if ((*c >= 'A') && (*c <= 'z') && (ServerInstance->SNO->IsEnabled(*c)))
{