aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 e53cc5fc1d8..a9f092baf29 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 d73d332ec89..81eb5ff1544 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))
{