aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Chat
diff options
context:
space:
mode:
authorCarbenium <keresztesschmidt@gmail.com>2015-03-18 02:59:40 +0100
committerCarbenium <keresztesschmidt@gmail.com>2015-03-18 02:59:40 +0100
commit03176662d10d6068df035b355eb4c47ddd4e1dde (patch)
tree71137697bad6bbc4b21259808ddde5739ae0025a /src/server/game/Chat
parent301ec0be564a4f160984dc5e34ab5468464dc76e (diff)
Merge pull request #14317 from Naios/typesafelog
Type safe logging (cherry picked from commit cc0c9add5a3f3a17e19029ddcaa7e711040f4fc5) Conflicts: src/server/bnetserver/CMakeLists.txt src/server/game/Server/WorldSocketMgr.cpp src/server/shared/Logging/AppenderDB.cpp src/server/worldserver/CMakeLists.txt
Diffstat (limited to 'src/server/game/Chat')
-rw-r--r--src/server/game/Chat/Chat.cpp32
-rw-r--r--src/server/game/Chat/Chat.h22
2 files changed, 19 insertions, 35 deletions
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp
index 44df1097dd4..3195de9b6bd 100644
--- a/src/server/game/Chat/Chat.cpp
+++ b/src/server/game/Chat/Chat.cpp
@@ -104,17 +104,6 @@ ChatCommand* ChatHandler::getCommandTable()
return commandTableCache;
}
-std::string ChatHandler::PGetParseString(uint32 entry, ...) const
-{
- const char *format = GetTrinityString(entry);
- char str[1024];
- va_list ap;
- va_start(ap, entry);
- vsnprintf(str, 1024, format, ap);
- va_end(ap);
- return std::string(str);
-}
-
char const* ChatHandler::GetTrinityString(uint32 entry) const
{
return m_session->GetTrinityString(entry);
@@ -258,27 +247,6 @@ void ChatHandler::SendSysMessage(uint32 entry)
SendSysMessage(GetTrinityString(entry));
}
-void ChatHandler::PSendSysMessage(uint32 entry, ...)
-{
- const char *format = GetTrinityString(entry);
- va_list ap;
- char str [2048];
- va_start(ap, entry);
- vsnprintf(str, 2048, format, ap);
- va_end(ap);
- SendSysMessage(str);
-}
-
-void ChatHandler::PSendSysMessage(const char *format, ...)
-{
- va_list ap;
- char str [2048];
- va_start(ap, format);
- vsnprintf(str, 2048, format, ap);
- va_end(ap);
- SendSysMessage(str);
-}
-
bool ChatHandler::ExecuteCommandInTable(ChatCommand* table, const char* text, std::string const& fullcmd)
{
char const* oldtext = text;
diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h
index d712740bd7d..ba59245cdaa 100644
--- a/src/server/game/Chat/Chat.h
+++ b/src/server/game/Chat/Chat.h
@@ -20,6 +20,7 @@
#define TRINITYCORE_CHAT_H
#include "SharedDefines.h"
+#include "StringFormat.h"
#include "WorldSession.h"
#include "RBAC.h"
@@ -68,9 +69,24 @@ class ChatHandler
virtual void SendSysMessage(char const* str);
void SendSysMessage(uint32 entry);
- void PSendSysMessage(char const* format, ...) ATTR_PRINTF(2, 3);
- void PSendSysMessage(uint32 entry, ...);
- std::string PGetParseString(uint32 entry, ...) const;
+
+ template<typename... Args>
+ void PSendSysMessage(const char* fmt, Args const&... args)
+ {
+ SendSysMessage(Trinity::StringFormat(fmt, args...).c_str());
+ }
+
+ template<typename... Args>
+ void PSendSysMessage(uint32 entry, Args const&... args)
+ {
+ SendSysMessage(PGetParseString(entry, args...).c_str());
+ }
+
+ template<typename... Args>
+ std::string PGetParseString(uint32 entry, Args const&... args) const
+ {
+ return Trinity::StringFormat(GetTrinityString(entry), args...);
+ }
bool ParseCommands(const char* text);