diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c index a5cb40c7d83633391099f9d197924ce1bbd6ff73..d1cdab065b7c2c9afef3536e7fd4b797daec2f3a 100644 --- a/src/sbbs3/js_global.c +++ b/src/sbbs3/js_global.c @@ -349,7 +349,14 @@ js_load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) path[0]=0; if(JS_GetProperty(cx, obj, "js", &val) && JSVAL_IS_OBJECT(val)) { JSObject* js = JSVAL_TO_OBJECT(val); - if(JS_GetProperty(cx, js, JAVASCRIPT_LOAD_PATH_LIST, &val) && JSVAL_IS_OBJECT(val)) { + if(JS_GetProperty(cx, js, "exec_dir", &val) && JSVAL_IS_STRING(val)) { + SAFEPRINTF2(path,"%s%s",js_ValueToStringBytes(cx, val, NULL),filename); + if(!fexistcase(path)) + path[0]=0; + } + if(path[0]==0 + && JS_GetProperty(cx, js, JAVASCRIPT_LOAD_PATH_LIST, &val) + && JSVAL_IS_OBJECT(val)) { JSObject* list = JSVAL_TO_OBJECT(val); jsuint i; char prefix[MAX_PATH+1];