summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/commands/cs_mode.cpp10
-rw-r--r--modules/commands/os_session.cpp2
2 files changed, 10 insertions, 2 deletions
diff --git a/modules/commands/cs_mode.cpp b/modules/commands/cs_mode.cpp
index 916cb8d02..7c0f09e63 100644
--- a/modules/commands/cs_mode.cpp
+++ b/modules/commands/cs_mode.cpp
@@ -88,6 +88,7 @@ class CommandCSMode : public Command
if (!mode_param.empty())
mode_param = " " + mode_param;
source.Reply(_("%c%c%s locked on %s"), adding ? '+' : '-', cm->ModeChar, mode_param.c_str(), ci->name.c_str());
+ Log(LOG_COMMAND, u, this, ci) << "to lock " << (adding ? '+' : '-') << cm->ModeChar << mode_param;
}
}
}
@@ -117,11 +118,17 @@ class CommandCSMode : public Command
if (adding == -1)
break;
ChannelMode *cm = ModeManager::FindChannelModeByChar(modes[i]);
- if (!cm || !cm->CanSet(u))
+ if (!cm)
{
source.Reply(_("Unknown mode character %c ignored."), modes[i]);
break;
}
+ else if (!cm->CanSet(u))
+ {
+ source.Reply(_("You may not (un)lock mode %c."), modes[i]);
+ break;
+ }
+
Anope::string mode_param;
if (!cm->Type == MODE_REGULAR && !sep.GetToken(mode_param))
source.Reply(_("Missing parameter for mode %c."), cm->ModeChar);
@@ -132,6 +139,7 @@ class CommandCSMode : public Command
if (!mode_param.empty())
mode_param = " " + mode_param;
source.Reply(_("%c%c%s has been unlocked from %s."), adding == 1 ? '+' : '-', cm->ModeChar, mode_param.c_str(), ci->name.c_str());
+ Log(LOG_COMMAND, u, this, ci) << "to unlock " << (adding ? '+' : '-') << cm->ModeChar << mode_param;
}
else
source.Reply(_("%c is not locked on %s."), cm->ModeChar, ci->name.c_str());
diff --git a/modules/commands/os_session.cpp b/modules/commands/os_session.cpp
index edaf841d5..752fe8729 100644
--- a/modules/commands/os_session.cpp
+++ b/modules/commands/os_session.cpp
@@ -258,7 +258,7 @@ class CommandOSSession : public Command
else
{
Exception *exception = session_service->FindException(param);
- source.Reply(_("The host \002%s\002 currently has \002%d\002 sessions with a limit of \002%d\002."), param.c_str(), session->count, exception ? exception-> limit : Config->DefSessionLimit);
+ source.Reply(_("The host \002%s\002 currently has \002%d\002 sessions with a limit of \002%d\002."), param.c_str(), session->count, exception && exception->limit > Config->DefSessionLimit ? exception->limit : Config->DefSessionLimit);
}
return;