diff options
author | Peter Keresztes Schmidt <carbenium@outlook.com> | 2020-08-22 17:36:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-22 17:36:13 +0200 |
commit | 617a769d6f8dc51d049296fbccca724713916ed4 (patch) | |
tree | 00d2574e3e062d6de88f3859bbf27628ed2ec32f | |
parent | 522a4cb1a66539a656c44342d7652c3065a90588 (diff) |
Core/ChatCommands: Add std::wstring argument type (#25302)
-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>>> |