1.1 --- a/core/CLogger.cpp Sat Jan 06 19:35:25 2007 +0000
1.2 +++ b/core/CLogger.cpp Sun Jan 07 01:30:28 2007 +0000
1.3 @@ -35,6 +35,7 @@
1.4 {
1.5 g_SMAPI->ConPrint("[SM] Unexpected fatal logging error. SourceMod logging disabled.\n");
1.6 m_Active = false;
1.7 + return;
1.8 } else {
1.9 char date[32];
1.10 strftime(date, sizeof(date), "%m/%d/%Y - %H:%M:%S", curtime);
1.11 @@ -125,7 +126,10 @@
1.12
1.13 if (m_mode == LoggingMode_HL2)
1.14 {
1.15 - _PrintToHL2Log(vafmt);
1.16 + va_list ap;
1.17 + va_start(ap, vafmt);
1.18 + _PrintToHL2Log(vafmt, ap);
1.19 + va_end(ap);
1.20 return;
1.21 }
1.22
1.23 @@ -135,7 +139,7 @@
1.24 _NewMapFile();
1.25 }
1.26
1.27 - static char msg[3072];
1.28 + char msg[3072];
1.29 va_list ap;
1.30 va_start(ap, vafmt);
1.31 vsnprintf(msg, sizeof(msg), vafmt, ap);
1.32 @@ -215,7 +219,7 @@
1.33 m_ErrMapStart = false;
1.34 }
1.35
1.36 - static char msg[3072];
1.37 + char msg[3072];
1.38 va_list ap;
1.39 va_start(ap, vafmt);
1.40 vsnprintf(msg, sizeof(msg), vafmt, ap);
1.41 @@ -235,6 +239,7 @@
1.42 } else {
1.43 g_SMAPI->ConPrint("[SM] Unexpected fatal logging error. SourceMod logging disabled.\n");
1.44 m_Active = false;
1.45 + return;
1.46 }
1.47
1.48 g_SMAPI->ConPrintf("L %s: %s\n", date, msg);
1.49 @@ -265,17 +270,16 @@
1.50 m_ErrMapStart = false;
1.51 }
1.52
1.53 -void CLogger::_PrintToHL2Log(const char *fmt, ...)
1.54 +void CLogger::_PrintToHL2Log(const char *fmt, va_list ap)
1.55 {
1.56 - static char msg[3072];
1.57 + char msg[3072];
1.58 size_t len;
1.59
1.60 - va_list ap;
1.61 - va_start(ap, fmt);
1.62 - len = vsnprintf(msg, sizeof(msg)-1, fmt, ap);
1.63 + len = vsnprintf(msg, sizeof(msg)-2, fmt, ap);
1.64 + len = (len >= sizeof(msg)) ? (sizeof(msg) - 2) : len;
1.65 +
1.66 msg[len++] = '\n';
1.67 msg[len] = '\0';
1.68 - va_end(ap);
1.69
1.70 engine->LogPrint(msg);
1.71 }
1.72 \ No newline at end of file