aboutsummaryrefslogtreecommitdiff
path: root/src/mode.cpp
diff options
context:
space:
mode:
authorGravatar danieldg2010-02-06 16:35:07 +0000
committerGravatar danieldg2010-02-06 16:35:07 +0000
commitc5d24dd9bd4ce165e5ebdbcd8a58a63d9d4ac999 (patch)
tree6385fd94cdda54adcde85aeffab889a16b60b4e2 /src/mode.cpp
parentAdd mode +V, status prefix. Because we haven't used up enough channel mode le... (diff)
Fail adding of new mode when its prefix is already in use
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12386 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/mode.cpp')
-rw-r--r--src/mode.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mode.cpp b/src/mode.cpp
index 7aeaae1dc..637eb7ba5 100644
--- a/src/mode.cpp
+++ b/src/mode.cpp
@@ -644,6 +644,9 @@ bool ModeParser::AddMode(ModeHandler* mh)
if ((mh->GetPrefix() == ',') || (mh->GetPrefix() == ':') || (mh->GetPrefix() == '#'))
return false;
+ if (mh->GetPrefix() && FindPrefix(mh->GetPrefix()))
+ return false;
+
mh->GetModeType() == MODETYPE_USER ? mask = MASK_USER : mask = MASK_CHANNEL;
pos = (mh->GetModeChar()-65) | mask;