aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Chat/ChatCommands/ChatCommandArgs.h19
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>>>