|
|
@@ -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);
|