diff options
Diffstat (limited to 'modules/commands')
-rw-r--r-- | modules/commands/ns_set.cpp | 2 | ||||
-rw-r--r-- | modules/commands/os_mode.cpp | 4 | ||||
-rw-r--r-- | modules/commands/os_reload.cpp | 5 |
3 files changed, 8 insertions, 3 deletions
diff --git a/modules/commands/ns_set.cpp b/modules/commands/ns_set.cpp index 984f1d002..e0d0299a3 100644 --- a/modules/commands/ns_set.cpp +++ b/modules/commands/ns_set.cpp @@ -122,7 +122,7 @@ class CommandNSSetPassword : public Command void Execute(CommandSource &source, const std::vector<Anope::string> ¶ms) override { - const Anope::string ¶m = params[1]; + const Anope::string ¶m = params[0]; unsigned len = param.length(); if (Anope::ReadOnly) diff --git a/modules/commands/os_mode.cpp b/modules/commands/os_mode.cpp index 4d94759df..9a5d8c41f 100644 --- a/modules/commands/os_mode.cpp +++ b/modules/commands/os_mode.cpp @@ -89,7 +89,9 @@ class CommandOSMode : public Command Anope::string param, param_log; if (cm->type != MODE_REGULAR) { - if (!sep.GetToken(param)) + if (cm->type == MODE_PARAM && !add && anope_dynamic_static_cast<ChannelModeParam *>(cm)->minus_no_arg) + ; + else if (!sep.GetToken(param)) continue; param_log = param; diff --git a/modules/commands/os_reload.cpp b/modules/commands/os_reload.cpp index 647f187b4..b5705d611 100644 --- a/modules/commands/os_reload.cpp +++ b/modules/commands/os_reload.cpp @@ -26,8 +26,11 @@ class CommandOSReload : public Command Log(LOG_ADMIN, source, this); Configuration::Conf *new_config = new Configuration::Conf(); - delete Config; + Configuration::Conf *old = Config; Config = new_config; + Config->Post(old); + delete old; + source.Reply(_("Services' configuration has been reloaded.")); } catch (const ConfigException &ex) |