diff options
Diffstat (limited to 'Tools/ProtoProxy')
-rw-r--r-- | Tools/ProtoProxy/Connection.cpp | 22 | ||||
-rw-r--r-- | Tools/ProtoProxy/Connection.h | 18 | ||||
-rw-r--r-- | Tools/ProtoProxy/Globals.h | 2 |
3 files changed, 24 insertions, 18 deletions
diff --git a/Tools/ProtoProxy/Connection.cpp b/Tools/ProtoProxy/Connection.cpp index 51b94f2a2..3049826b6 100644 --- a/Tools/ProtoProxy/Connection.cpp +++ b/Tools/ProtoProxy/Connection.cpp @@ -284,16 +284,13 @@ void cConnection::Run(void) -void cConnection::Log(const char * a_Format, fmt::ArgList a_Args) +void cConnection::vLog(const char * a_Format, fmt::printf_args a_Args) { - fmt::MemoryWriter FullMsg; - fmt::printf(FullMsg, "[%5.3f] ", GetRelativeTime()); - fmt::printf(FullMsg, a_Format, a_Args); - fmt::printf(FullMsg, "\n"); - // Log to file: cCSLock Lock(m_CSLog); - fputs(FullMsg.c_str(), m_LogFile); + fmt::fprintf(m_LogFile, "[%5.3f] ", GetRelativeTime()); + fmt::vfprintf(m_LogFile, a_Format, a_Args); + fmt::fprintf(m_LogFile, "\n"); #ifdef _DEBUG fflush(m_LogFile); #endif // _DEBUG @@ -306,17 +303,16 @@ void cConnection::Log(const char * a_Format, fmt::ArgList a_Args) -void cConnection::DataLog(const void * a_Data, size_t a_Size, const char * a_Format, fmt::ArgList a_Args) +void cConnection::vDataLog(const void * a_Data, size_t a_Size, const char * a_Format, fmt::printf_args a_Args) { - fmt::MemoryWriter FullMsg; - fmt::printf(FullMsg, "[%5.3f] ", GetRelativeTime()); - fmt::printf(FullMsg, a_Format, a_Args); AString Hex; - fmt::printf(FullMsg, "\n%s\n", CreateHexDump(Hex, a_Data, a_Size, 16)); + CreateHexDump(Hex, a_Data, a_Size, 16); // Log to file: cCSLock Lock(m_CSLog); - fputs(FullMsg.c_str(), m_LogFile); + fmt::fprintf(m_LogFile, "[%5.3f] ", GetRelativeTime()); + fmt::vfprintf(m_LogFile, a_Format, a_Args); + fmt::fprintf(m_LogFile, "\n%s\n", Hex); /* // Log to screen: diff --git a/Tools/ProtoProxy/Connection.h b/Tools/ProtoProxy/Connection.h index 3b9127530..e52e1fa6d 100644 --- a/Tools/ProtoProxy/Connection.h +++ b/Tools/ProtoProxy/Connection.h @@ -59,11 +59,21 @@ public: void Run(void); - void Log(const char * a_Format, fmt::ArgList); - FMT_VARIADIC(void, Log, const char *) + void vLog(const char * a_Format, fmt::printf_args); - void DataLog(const void * a_Data, size_t a_Size, const char * a_Format, fmt::ArgList); - FMT_VARIADIC(void, DataLog, const void *, size_t, const char *) + template <typename... Args> + void Log(const char * a_Format, const Args & ... a_Args) + { + vLog(a_Format, fmt::make_printf_args(a_Args...)); + } + + void vDataLog(const void * a_Data, size_t a_Size, const char * a_Format, fmt::printf_args); + + template <typename... Args> + void DataLog(const void * a_Data, size_t a_Size, const char * a_Format, const Args & ... a_Args) + { + vDataLog(a_Data, a_Size, a_Format, fmt::make_printf_args(a_Args...)); + } void LogFlush(void); diff --git a/Tools/ProtoProxy/Globals.h b/Tools/ProtoProxy/Globals.h index a2d0664b0..11e1fb7db 100644 --- a/Tools/ProtoProxy/Globals.h +++ b/Tools/ProtoProxy/Globals.h @@ -180,7 +180,7 @@ typedef unsigned char Byte; // Common headers (part 1, without macros): -#include "fmt/format.h" +#include "fmt.h" #include "StringUtils.h" #include "OSSupport/CriticalSection.h" |