From 9495194bf2c13d8e2ae097cf07b86240d3d8dc96 Mon Sep 17 00:00:00 2001 From: QAston Date: Thu, 30 Jan 2014 23:43:10 +0100 Subject: Fix warnings introduced on littleendian in 2134cb610d45727a0623741f7416a360882133fa This fix prevents possible issues on bigendian machines. Don't use c style casts ppl, it's evul. --- src/server/shared/Utilities/ByteConverter.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/server/shared') diff --git a/src/server/shared/Utilities/ByteConverter.h b/src/server/shared/Utilities/ByteConverter.h index bf1342a10e4..8eebb05bb13 100644 --- a/src/server/shared/Utilities/ByteConverter.h +++ b/src/server/shared/Utilities/ByteConverter.h @@ -47,9 +47,13 @@ namespace ByteConverter #if TRINITY_ENDIAN == TRINITY_BIGENDIAN template inline void EndianConvert(T& val) { ByteConverter::apply(&val); } template inline void EndianConvertReverse(T&) { } +template inline void EndianConvertPtr(void* val) { ByteConverter::apply(val); } +template inline void EndianConvertPtrReverse(void*) { } #else template inline void EndianConvert(T&) { } template inline void EndianConvertReverse(T& val) { ByteConverter::apply(&val); } +template inline void EndianConvertPtr(void*) { } +template inline void EndianConvertPtrReverse(void* val) { ByteConverter::apply(val); } #endif template void EndianConvert(T*); // will generate link error -- cgit v1.2.3 From b054275fb277d34f98746a1ebcfec1d39d3ce13a Mon Sep 17 00:00:00 2001 From: jackpoz Date: Fri, 31 Jan 2014 22:11:49 +0100 Subject: Shared/Logs: Fix crash in Console log output Correctly handle the return value of vsnprintf() which returns -1 if the buffer is too small http://msdn.microsoft.com/en-us/library/1kt27hek.aspx . In this case just truncate the output. This caused a crash on character delete if Logger.entities.player.dump was enabled and set to 3. Fixes #11539 --- src/server/shared/Utilities/Util.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/server/shared') diff --git a/src/server/shared/Utilities/Util.cpp b/src/server/shared/Utilities/Util.cpp index 499ad0502b7..ffef61557fc 100644 --- a/src/server/shared/Utilities/Util.cpp +++ b/src/server/shared/Utilities/Util.cpp @@ -510,6 +510,9 @@ void vutf8printf(FILE* out, const char *str, va_list* ap) wchar_t wtemp_buf[32*1024]; size_t temp_len = vsnprintf(temp_buf, 32*1024, str, *ap); + //vsnprintf returns -1 if the buffer is too small + if (temp_len == size_t(-1)) + temp_len = 32*1024-1; size_t wtemp_len = 32*1024-1; Utf8toWStr(temp_buf, temp_len, wtemp_buf, wtemp_len); -- cgit v1.2.3 From 19172ee4c26a12b844a7e1f435daed9bb44bf625 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 31 Jan 2014 23:30:25 +0100 Subject: Build: Use override/final keywords for VS 2012 and newer. (VS 2013 still defines __cplusplus as 199711L) --- src/server/shared/CompilerDefs.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/server/shared') diff --git a/src/server/shared/CompilerDefs.h b/src/server/shared/CompilerDefs.h index 71b20a4d175..8a557328af4 100644 --- a/src/server/shared/CompilerDefs.h +++ b/src/server/shared/CompilerDefs.h @@ -57,6 +57,8 @@ #if defined(__cplusplus) && __cplusplus == 201103L # define COMPILER_HAS_CPP11_SUPPORT 1 +#elif _MSC_VER >= 1700 +# define COMPILER_HAS_CPP11_SUPPORT 1 #else # define COMPILER_HAS_CPP11_SUPPORT 0 #endif -- cgit v1.2.3