diff options
Diffstat (limited to 'src/modes')
-rw-r--r-- | src/modes/cmode_h.cpp | 5 | ||||
-rw-r--r-- | src/modes/cmode_o.cpp | 5 | ||||
-rw-r--r-- | src/modes/cmode_v.cpp | 5 |
3 files changed, 12 insertions, 3 deletions
diff --git a/src/modes/cmode_h.cpp b/src/modes/cmode_h.cpp index 667402ace..cb1f626b6 100644 --- a/src/modes/cmode_h.cpp +++ b/src/modes/cmode_h.cpp @@ -85,7 +85,10 @@ ModeAction ModeChannelHalfOp::OnModeChange(userrec* source, userrec* dest, chanr * the return value and is always MODEACTION_DENY if the mode is supposed to have * a parameter. */ - return MODEACTION_ALLOW; + if (parameter.length()) + return MODEACTION_ALLOW; + else + return MODEACTION_DENY; } std::string ModeChannelHalfOp::AddHalfOp(userrec *user,const char* dest,chanrec *chan,int status) diff --git a/src/modes/cmode_o.cpp b/src/modes/cmode_o.cpp index b9fb0208b..a66818005 100644 --- a/src/modes/cmode_o.cpp +++ b/src/modes/cmode_o.cpp @@ -77,7 +77,10 @@ ModeAction ModeChannelOp::OnModeChange(userrec* source, userrec* dest, chanrec* * the return value and is always MODEACTION_DENY if the mode is supposed to have * a parameter. */ - return MODEACTION_ALLOW; + if (parameter.length()) + return MODEACTION_ALLOW; + else + return MODEACTION_DENY; } std::string ModeChannelOp::AddOp(userrec *user,const char* dest,chanrec *chan,int status) diff --git a/src/modes/cmode_v.cpp b/src/modes/cmode_v.cpp index 9fd5df7bd..497c4856f 100644 --- a/src/modes/cmode_v.cpp +++ b/src/modes/cmode_v.cpp @@ -76,7 +76,10 @@ ModeAction ModeChannelVoice::OnModeChange(userrec* source, userrec* dest, chanre * the return value and is always MODEACTION_DENY if the mode is supposed to have * a parameter. */ - return MODEACTION_ALLOW; + if (parameter.length()) + return MODEACTION_ALLOW; + else + return MODEACTION_DENY; } std::string ModeChannelVoice::AddVoice(userrec *user,const char* dest,chanrec *chan,int status) |