From 2120f4bed6f2fc36152f63472913e29ec36fac1e Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Mon, 16 Aug 2004 10:30:17 +0000 Subject: [PATCH] Created global chdir() method. --- src/sbbs3/jsexec.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c index 6b44d91af9..d268ef6dc5 100644 --- a/src/sbbs3/jsexec.c +++ b/src/sbbs3/jsexec.c @@ -380,6 +380,20 @@ js_prompt(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) return(JS_TRUE); } +static JSBool +js_chdir(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + char* p; + + if((p=JS_GetStringBytes(JS_ValueToString(cx, argv[0])))==NULL) { + *rval = INT_TO_JSVAL(-1); + return(JS_TRUE); + } + + *rval = BOOLEAN_TO_JSVAL(chdir(p)==0); + return(JS_TRUE); +} + static jsSyncMethodSpec js_global_functions[] = { {"log", js_log, 1}, {"read", js_read, 1}, @@ -391,6 +405,7 @@ static jsSyncMethodSpec js_global_functions[] = { {"alert", js_alert, 1}, {"prompt", js_prompt, 1}, {"confirm", js_confirm, 1}, + {"chdir", js_chdir, 1}, {0} }; -- GitLab