diff options
| author | Peter Keresztes Schmidt <carbenium@outlook.com> | 2020-08-22 17:36:13 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-02-04 00:27:11 +0100 |
| commit | b527a031b9f37cc2d159efc4e241c2eab97ffb20 (patch) | |
| tree | 11568295880b347e17b40994a9c7dc6c995107dd /src | |
| parent | e9209c3131a673a488fda0b429a0e7bdd2d317c7 (diff) | |
Core/ChatCommands: Add std::wstring argument type (#25302)
(cherry picked from commit 617a769d6f8dc51d049296fbccca724713916ed4)
Diffstat (limited to 'src')
| -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 fa60be0cf86..a90790265ca 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>>> |
