static int VisualCppVSNprintf(char *str, size_t size, const char* format, va_list args) { char* buf = 0; size_t sizeGuess = size; int result = _VSNPRINTF( str, size, _TRUNCATE, format, args); str[size-1] = 0; while (result == -1) { if (buf != 0) free(buf); sizeGuess += 10; buf = (char*)malloc(sizeGuess); result = _VSNPRINTF( buf, sizeGuess, _TRUNCATE, format, args); } if (buf != 0) free(buf); return result; }
void CScriptDebugging::LogCustom ( lua_State* luaVM, unsigned char ucRed, unsigned char ucGreen, unsigned char ucBlue, const char* szFormat, ... ) { assert ( szFormat ); // Compose the formatted message char szBuffer [MAX_STRING_LENGTH]; va_list marker; va_start ( marker, szFormat ); _VSNPRINTF ( szBuffer, MAX_STRING_LENGTH, szFormat, marker ); va_end ( marker ); LogString ( "", luaVM, szBuffer, 0, ucRed, ucGreen, ucBlue ); }
void CDebugView::Outputf ( bool bColorCoded, char* szText, ... ) { char szBuffer [ 1024 ]; va_list ap; va_start ( ap, szText ); _VSNPRINTF ( szBuffer, 1024, szText, ap ); va_end ( ap ); CChat * pChat = g_pChat; g_pChat = this; CChat::Output ( szBuffer, bColorCoded ); g_pChat = pChat; }
void CScriptDebugging::LogError ( lua_State* luaVM, const char* szFormat, ... ) { assert ( szFormat ); // Compose the formatted message char szBuffer [MAX_STRING_LENGTH]; va_list marker; va_start ( marker, szFormat ); _VSNPRINTF ( szBuffer, MAX_STRING_LENGTH, szFormat, marker ); va_end ( marker ); // Log it LogString ( "ERROR: ", luaVM, szBuffer, 1 ); }