diff options
-rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommandArgs.h | 2 | ||||
-rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommandTags.h | 2 |
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)) { |