aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2020-09-13 00:37:54 +0200
committerShauren <shauren.trinity@gmail.com>2022-02-06 00:07:47 +0100
commit6ede2740246a554f5fbbd6b015759c8e811388f3 (patch)
tree39ca4036610eeb5537bcbb703c2c9326b99183a7 /src
parentd1bea3e8b39c53b5427bfef9806e0282624e891f (diff)
Core/ChatCommands: Fix an issue that caused trailing variant options to sometimes not be selected
(cherry picked from commit 14fa6c3a725f617e02af74eea95f5074b9095704)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Chat/ChatCommands/ChatCommandArgs.h2
-rw-r--r--src/server/game/Chat/ChatCommands/ChatCommandTags.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Chat/ChatCommands/ChatCommandArgs.h b/src/server/game/Chat/ChatCommands/ChatCommandArgs.h
index b36456869d8..8d2af4e7930 100644
--- a/src/server/game/Chat/ChatCommands/ChatCommandArgs.h
+++ b/src/server/game/Chat/ChatCommands/ChatCommandArgs.h
@@ -278,7 +278,7 @@ namespace Trinity::Impl::ChatCommands
else
{
ChatCommandResult nestedResult = TryAtIndex<I + 1>(val, handler, args);
- if (!thisResult.HasErrorMessage())
+ if (nestedResult || !thisResult.HasErrorMessage())
return nestedResult;
if (!nestedResult.HasErrorMessage())
return thisResult;
diff --git a/src/server/game/Chat/ChatCommands/ChatCommandTags.h b/src/server/game/Chat/ChatCommands/ChatCommandTags.h
index dca28d205e8..c7f7d0c0029 100644
--- a/src/server/game/Chat/ChatCommands/ChatCommandTags.h
+++ b/src/server/game/Chat/ChatCommands/ChatCommandTags.h
@@ -92,6 +92,8 @@ namespace Trinity::ChatCommands
ChatCommandResult TryConsume(ChatHandler const* handler, std::string_view args) const
{
+ if (args.empty())
+ return std::nullopt;
std::string_view start = args.substr(0, _string.length());
if (StringEqualI(start, _string))
{