Codechange: Add WARN_FORMAT to vseprintf and fix the cascade of warnings that followed

pull/167/head
Charles Pigott 4 years ago
parent 224acb78b0
commit 64b1c70fdd

@ -65,9 +65,9 @@ public:
}
NORETURN static void ThrowError(void *ud, const SQChar *s) {
SQCompiler *c = (SQCompiler *)ud;
c->Error(s);
c->Error("%s", s);
}
NORETURN void Error(const SQChar *s, ...)
NORETURN void Error(const SQChar *s, ...) WARN_FORMAT(2, 3)
{
static SQChar temp[256];
va_list vl;
@ -122,7 +122,7 @@ public:
}
Error("expected '%s'", etypename);
}
Error("expected '%c'", tok);
Error("expected '%c'", (char)tok);
}
}
SQObjectPtr ret;

@ -94,7 +94,7 @@ bool SQVM::ARITH_OP(SQUnsignedInteger op,SQObjectPtr &trg,const SQObjectPtr &o1,
if(!StringCat(o1, o2, trg)) return false;
}
else if(!ArithMetaMethod(op,o1,o2,trg)) {
Raise_Error("arith op %c on between '%s' and '%s'",op,GetTypeName(o1),GetTypeName(o2)); return false;
Raise_Error("arith op %c on between '%s' and '%s'",(char)op,GetTypeName(o1),GetTypeName(o2)); return false;
}
}
return true;

@ -81,7 +81,7 @@ public:
SQString *PrintObjVal(const SQObject &o);
void Raise_Error(const SQChar *s, ...);
void Raise_Error(const SQChar *s, ...) WARN_FORMAT(2, 3);
void Raise_Error(SQObjectPtr &desc);
void Raise_IdxError(const SQObject &o);
void Raise_CompareError(const SQObject &o1, const SQObject &o2);

@ -90,7 +90,7 @@ struct CStrA : public CBlobT<char>
}
/** Add formatted string (like vsprintf) at the end of existing contents. */
int AddFormatL(const char *format, va_list args)
int AddFormatL(const char *format, va_list args) WARN_FORMAT(2, 0)
{
size_t addSize = max<size_t>(strlen(format), 16);
addSize += addSize / 2;

@ -896,7 +896,7 @@ void SlObject(void *object, const SaveLoad *sld);
bool SlObjectMember(void *object, const SaveLoad *sld);
void NORETURN SlError(StringID string, const char *extra_msg = nullptr);
void NORETURN SlErrorCorrupt(const char *msg);
void NORETURN SlErrorCorruptFmt(const char *format, ...);
void NORETURN SlErrorCorruptFmt(const char *format, ...) WARN_FORMAT(1, 2);
bool SaveloadCrashWithMissingNewGRFs();

@ -63,12 +63,12 @@ protected:
/**
* If a user runs 'print' inside a script, this function gets the params.
*/
static void PrintFunc(HSQUIRRELVM vm, const SQChar *s, ...);
static void PrintFunc(HSQUIRRELVM vm, const SQChar *s, ...) WARN_FORMAT(2, 3);
/**
* If an error has to be print, this function is called.
*/
static void ErrorPrintFunc(HSQUIRRELVM vm, const SQChar *s, ...);
static void ErrorPrintFunc(HSQUIRRELVM vm, const SQChar *s, ...) WARN_FORMAT(2, 3);
public:
Squirrel(const char *APIName);

@ -35,7 +35,7 @@ char *strecpy(char *dst, const char *src, const char *last);
char *stredup(const char *src, const char *last = nullptr);
int CDECL seprintf(char *str, const char *last, const char *format, ...) WARN_FORMAT(3, 4);
int CDECL vseprintf(char *str, const char *last, const char *format, va_list ap);
int CDECL vseprintf(char *str, const char *last, const char *format, va_list ap) WARN_FORMAT(3, 0);
char *CDECL str_fmt(const char *str, ...) WARN_FORMAT(1, 2);

Loading…
Cancel
Save