summaryrefslogtreecommitdiff
path: root/modules/commands
diff options
context:
space:
mode:
Diffstat (limited to 'modules/commands')
-rw-r--r--modules/commands/ns_set.cpp2
-rw-r--r--modules/commands/os_mode.cpp4
-rw-r--r--modules/commands/os_reload.cpp5
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> &params) override
{
- const Anope::string &param = params[1];
+ const Anope::string &param = 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)