Branimir Karadžić пре 9 година
родитељ
комит
350ac1e2e8
1 измењених фајлова са 6 додато и 2 уклоњено
  1. 6 2
      include/bx/string.h

+ 6 - 2
include/bx/string.h

@@ -307,7 +307,9 @@ namespace bx
 	inline int32_t vsnprintf(char* _str, size_t _count, const char* _format, va_list _argList)
 	{
 #if BX_COMPILER_MSVC
-		int32_t len = ::vsnprintf_s(_str, _count, size_t(-1), _format, _argList);
+		va_list argListCopy;
+		va_copy(argListCopy, _argList);
+		int32_t len = ::vsnprintf_s(_str, _count, size_t(-1), _format, argListCopy);
 		return -1 == len ? ::_vscprintf(_format, _argList) : len;
 #else
 		return ::vsnprintf(_str, _count, _format, _argList);
@@ -320,7 +322,9 @@ namespace bx
 	inline int32_t vsnwprintf(wchar_t* _str, size_t _count, const wchar_t* _format, va_list _argList)
 	{
 #if BX_COMPILER_MSVC
-		int32_t len = ::_vsnwprintf_s(_str, _count, size_t(-1), _format, _argList);
+		va_list argListCopy;
+		va_copy(argListCopy, _argList);
+		int32_t len = ::_vsnwprintf_s(_str, _count, size_t(-1), _format, argListCopy);
 		return -1 == len ? ::_vscwprintf(_format, _argList) : len;
 #elif defined(__MINGW32__)
 		return ::vsnwprintf(_str, _count, _format, _argList);