1
0
forked from 0ad/0ad

Fixed lack of termination when log messages exceed 512 chars

This was SVN commit r1148.
This commit is contained in:
Ykkrosh 2004-09-17 23:13:38 +00:00
parent cd2dbc40c2
commit dbee9e74fd

View File

@ -157,7 +157,11 @@ void CLogger::Log(ELogMethod method, const char* category, const char *fmt, ...)
memset(buffer,0,sizeof(buffer));
va_start(argp, fmt);
vsnprintf2(buffer, sizeof(buffer), fmt, argp);
if (vsnprintf2(buffer, sizeof(buffer)-1, fmt, argp) == -1)
{
// Buffer too small - ensure the string is nicely terminated
strcpy(buffer+sizeof(buffer)-4, "...");
}
va_end(argp);
LogUsingMethod(method, category, buffer);
@ -172,7 +176,11 @@ void CLogger::LogOnce(ELogMethod method, const char* category, const char *fmt,
memset(buffer,0,sizeof(buffer));
va_start(argp, fmt);
vsnprintf2(buffer, sizeof(buffer), fmt, argp);
if (vsnprintf2(buffer, sizeof(buffer)-1, fmt, argp) == -1)
{
// Buffer too small - ensure the string is nicely terminated
strcpy(buffer+sizeof(buffer)-4, "...");
}
va_end(argp);
std::string message (buffer);