Merge pull request #349 from Dmitry-Me/properHandleSmallBufferOnCe

Don't use -1 as buffer length
This commit is contained in:
Lee Thomason 2015-06-08 17:14:14 -07:00
commit 2b2649e1e4

View File

@ -2041,12 +2041,16 @@ void XMLPrinter::Print( const char* format, ... )
#if defined(_MSC_VER) && (_MSC_VER >= 1400 ) #if defined(_MSC_VER) && (_MSC_VER >= 1400 )
#if defined(WINCE) #if defined(WINCE)
int len = 512; int len = 512;
do { for (;;) {
len = len*2; len = len*2;
char* str = new char[len](); char* str = new char[len]();
len = _vsnprintf(str, len, format, va); const int required = _vsnprintf(str, len, format, va);
delete[] str; delete[] str;
}while (len < 0); if ( required != -1 ) {
len = required;
break;
}
}
#else #else
int len = _vscprintf( format, va ); int len = _vscprintf( format, va );
#endif #endif