static JSBool executeFile(JSContext *cx, unsigned argc, jsval *vp) { JSString* str; JSObject* obj; char *filename; JSScript* script; jsval result; if (!JS_ConvertArguments(cx, argc, JS_ARGV(cx, vp), "So", &str, &obj)) { return JS_FALSE; } filename = JS_EncodeString(cx, str); script = JS_CompileUTF8File(cx, JS_THIS_OBJECT(cx, vp), filename); JS_free(cx, filename); if (!script) { return JS_FALSE; } if (!JS_ExecuteScript(cx, obj, script, &result)) { return JS_FALSE; } JS_SET_RVAL(cx, vp, result); return JS_TRUE; }
lwqq_jso_t* lwqq_js_load(lwqq_js_t* js,const char* file) { JSObject* global = JS_GetGlobalObject(js->context); #ifdef MOZJS_185 JSObject* script = JS_CompileFile(js->context, global, file); #else JSScript* script = JS_CompileUTF8File(js->context,global,file); #endif JS_ExecuteScript(js->context, global, script, NULL); return (lwqq_jso_t*)script; }