diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-10-28 11:41:38 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-10-28 11:41:38 +0000 |
commit | ae23edb3981c3252a66d7afcc35af359d5f7e116 (patch) | |
tree | 23683ee5a5c2dabc41c9b67c68d843f91a50f2f0 /src/users.cpp | |
parent | e3ac0dbb561b53359ac8d900237adc9b3a2546bc (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.cpp | 18 |
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))) { |