forked from Mirrors/openclonk
Fix warnings in DirectExec crashing (#1990)
parent
92a7087bf7
commit
ce9245c55c
|
@ -131,7 +131,7 @@ void C4ScriptHost::Warn(const char *pMsg, ...)
|
||||||
|
|
||||||
void C4AulParse::Warn(C4AulWarningId warning, ...)
|
void C4AulParse::Warn(C4AulWarningId warning, ...)
|
||||||
{
|
{
|
||||||
if (!pOrgScript->IsWarningEnabled(TokenSPos, warning))
|
if (!IsWarningEnabled(TokenSPos, warning))
|
||||||
return;
|
return;
|
||||||
va_list args; va_start(args, warning);
|
va_list args; va_start(args, warning);
|
||||||
StdStrBuf Buf = FormatStringV(C4AulWarningMessages[static_cast<size_t>(warning)], args);
|
StdStrBuf Buf = FormatStringV(C4AulWarningMessages[static_cast<size_t>(warning)], args);
|
||||||
|
@ -141,6 +141,19 @@ void C4AulParse::Warn(C4AulWarningId warning, ...)
|
||||||
va_end(args);
|
va_end(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool C4AulParse::IsWarningEnabled(const char *pos, C4AulWarningId warning) const
|
||||||
|
{
|
||||||
|
if (pOrgScript) return pOrgScript->IsWarningEnabled(pos, warning);
|
||||||
|
// In DirectExec, the default warnings are always active.
|
||||||
|
switch (warning)
|
||||||
|
{
|
||||||
|
#define DIAG(id, text, enabled) case C4AulWarningId::id: return enabled;
|
||||||
|
#include "C4AulWarnings.h"
|
||||||
|
#undef DIAG
|
||||||
|
default: return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void C4AulParse::Error(const char *pMsg, ...)
|
void C4AulParse::Error(const char *pMsg, ...)
|
||||||
{
|
{
|
||||||
va_list args; va_start(args, pMsg);
|
va_list args; va_start(args, pMsg);
|
||||||
|
|
|
@ -95,6 +95,7 @@ private:
|
||||||
NORETURN void UnexpectedToken(const char * Expected);
|
NORETURN void UnexpectedToken(const char * Expected);
|
||||||
|
|
||||||
void Warn(C4AulWarningId warning, ...);
|
void Warn(C4AulWarningId warning, ...);
|
||||||
|
bool IsWarningEnabled(const char *pos, C4AulWarningId warning) const;
|
||||||
void Error(const char *pMsg, ...) GNUC_FORMAT_ATTRIBUTE_O;
|
void Error(const char *pMsg, ...) GNUC_FORMAT_ATTRIBUTE_O;
|
||||||
void AppendPosition(StdStrBuf & Buf);
|
void AppendPosition(StdStrBuf & Buf);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue