aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_rline.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2025-01-17 16:45:15 +0000
committerGravatar Sadie Powell2025-01-17 17:27:24 +0000
commit6cb0f8a6d1683877485d06250f0966c7e42cfa9c (patch)
treed8e607e9e0b27940e503e4ddfb250d27e9778cc8 /src/modules/m_rline.cpp
parentRun irctest on AArch64. (diff)
Make the length optional in when adding a [EGKQRZ]-line.
The shun module already behaves like this but the docs were not correct.
Diffstat (limited to 'src/modules/m_rline.cpp')
-rw-r--r--src/modules/m_rline.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/modules/m_rline.cpp b/src/modules/m_rline.cpp
index 226e974c9..476419a02 100644
--- a/src/modules/m_rline.cpp
+++ b/src/modules/m_rline.cpp
@@ -143,18 +143,18 @@ public:
, factory(rlf)
{
access_needed = CmdAccess::OPERATOR;
- syntax = { "<regex> [<duration> :<reason>]" };
+ syntax = { "<regex> [[<duration>] :<reason>]" };
}
CmdResult Handle(User* user, const Params& parameters) override
{
- if (parameters.size() >= 3)
+ if (parameters.size() > 1)
{
// Adding - XXX todo make this respect <insane> tag perhaps..
- unsigned long duration;
- if (!Duration::TryFrom(parameters[1], duration))
+ unsigned long duration = 0;
+ if (parameters.size() > 2 && !Duration::TryFrom(parameters[1], duration))
{
user->WriteNotice("*** Invalid duration for R-line.");
return CmdResult::FAILURE;
@@ -163,7 +163,7 @@ public:
try
{
- r = factory.Generate(ServerInstance->Time(), duration, user->nick, parameters[2], parameters[0]);
+ r = factory.Generate(ServerInstance->Time(), duration, user->nick, parameters.back(), parameters[0]);
}
catch (const ModuleException& e)
{
@@ -176,13 +176,13 @@ public:
{
if (!duration)
{
- ServerInstance->SNO.WriteToSnoMask('x', "{} added a permanent R-line on {}: {}", user->nick, parameters[0], parameters[2]);
+ ServerInstance->SNO.WriteToSnoMask('x', "{} added a permanent R-line on {}: {}",
+ user->nick, parameters[0], r->reason);
}
else
{
ServerInstance->SNO.WriteToSnoMask('x', "{} added a timed R-line on {}, expires in {} (on {}): {}",
- user->nick, parameters[0], Duration::ToString(duration),
- Time::FromNow(duration), parameters[2]);
+ user->nick, parameters[0], Duration::ToString(duration), Time::FromNow(duration), r->reason);
}
ServerInstance->XLines->ApplyLines();