diff options
-rw-r--r-- | src/server/game/Chat/ChatCommands/ChatCommandArgs.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/server/game/Chat/ChatCommands/ChatCommandArgs.h b/src/server/game/Chat/ChatCommands/ChatCommandArgs.h index 2e33384ee42..504f4d0dca3 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandArgs.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandArgs.h @@ -120,6 +120,25 @@ struct ArgInfo<std::string, void> } }; +// wstring +template <> +struct ArgInfo<std::wstring, void> +{ + static char const* TryConsume(std::wstring& val, char const* args) + { + std::string utf8Str; + char const* ret = ArgInfo<std::string>::TryConsume(utf8Str, args); + + if (!ret) + return nullptr; + + if (!Utf8toWStr(utf8Str, val)) + return nullptr; + + return ret; + } +}; + // enum template <typename T> struct ArgInfo<T, std::enable_if_t<std::is_enum_v<T>>> |