diff --git a/source/graphics/scripting/JSInterface_Camera.cpp b/source/graphics/scripting/JSInterface_Camera.cpp index 2ab6231673..6a3c2adc3c 100644 --- a/source/graphics/scripting/JSInterface_Camera.cpp +++ b/source/graphics/scripting/JSInterface_Camera.cpp @@ -277,7 +277,7 @@ JSBool JSI_Camera::construct( JSContext* cx, JSObject* UNUSED(obj), JSObject* camera = JS_NewObject( cx, &JSI_Camera::JSI_class, NULL, NULL ); - JSU_REQUIRE_PARAM_RANGE(0, 3); + JSU_REQUIRE_MAX_PARAMS(3); Camera_Info* camera_info = 0; switch(argc) { diff --git a/source/lib/file/common/trace.cpp b/source/lib/file/common/trace.cpp index 51250c82b9..ac694e4c4f 100644 --- a/source/lib/file/common/trace.cpp +++ b/source/lib/file/common/trace.cpp @@ -47,7 +47,7 @@ TraceEntry::TraceEntry(const char* text) char pathname[PATH_MAX] = ""; char action; #if EMULATE_SECURE_CRT - #define TRACE_FORMAT "%f: %c \"%" STRINGIZE(PATH_MAX) "[^\"]\" %d\n" /* use a macro to allow compile-time type-checking */ + #define TRACE_FORMAT "%f: %c \"%" STRINGIZE(PATH_MAX) "[^\"]\" %zd\n" /* use a macro to allow compile-time type-checking */ const int fieldsRead = sscanf(text, TRACE_FORMAT, &m_timestamp, &action, pathname, &m_size); #else #define TRACE_FORMAT "%f: %c \"%[^\"]\" %d\n" diff --git a/source/scripting/JSUtil.h b/source/scripting/JSUtil.h index 75672015c9..3cc3f2ee1c 100644 --- a/source/scripting/JSUtil.h +++ b/source/scripting/JSUtil.h @@ -35,6 +35,10 @@ extern jsval jsu_report_param_error(JSContext* cx, jsval* rval); #define JSU_REQUIRE_PARAM_RANGE(min_number, max_number)\ if(!(min_number <= argc && argc <= max_number))\ return jsu_report_param_error(cx, rval); +// .. require at most a certain count +#define JSU_REQUIRE_MAX_PARAMS(max_number)\ + if(argc > max_number)\ + return jsu_report_param_error(cx, rval); // .. require at least a certain count (rarely needed) #define JSU_REQUIRE_MIN_PARAMS(min_number)\ if(argc < min_number)\ diff --git a/source/scripting/ScriptGlue.cpp b/source/scripting/ScriptGlue.cpp index 6b70efc8e1..4b89f0fb95 100644 --- a/source/scripting/ScriptGlue.cpp +++ b/source/scripting/ScriptGlue.cpp @@ -1058,7 +1058,7 @@ JSBool SetCameraTarget( JSContext* cx, JSObject* UNUSED(obj), uintN argc, jsval* // that revision so that they match user-submitted crashdumps). JSBool GetBuildTimestamp( JSContext* cx, JSObject*, uintN argc, jsval* argv, jsval* rval ) { - JSU_REQUIRE_PARAM_RANGE(0, 1); + JSU_REQUIRE_MAX_PARAMS(1); char buf[200]; @@ -1387,7 +1387,7 @@ JSBool GetTrigger( JSContext* cx, JSObject* UNUSED(globalObject), uintN argc, js // Reveal map JSBool RevealMap( JSContext* cx, JSObject* UNUSED(globalObject), uintN argc, jsval* argv, jsval* rval ) { - JSU_REQUIRE_PARAM_RANGE(0, 1); + JSU_REQUIRE_MAX_PARAMS(1); int newValue; if(argc == 0)