summaryrefslogtreecommitdiff
path: root/quickjs-libc.c
diff options
context:
space:
mode:
authorbellard <6490144+bellard@users.noreply.github.com>2020-09-06 18:57:11 +0200
committerbellard <6490144+bellard@users.noreply.github.com>2020-09-06 18:57:11 +0200
commit0e8fffd4de4a10f498f46cd0e99f53da6a523542 (patch)
treefc80c9b15e5816b84ae7d012a1106f7f46a70332 /quickjs-libc.c
parent91459fb6723e29e923380cec0023af93819ae69d (diff)
downloadquickjs-0e8fffd4de4a10f498f46cd0e99f53da6a523542.tar.gz
quickjs-0e8fffd4de4a10f498f46cd0e99f53da6a523542.zip
2020-01-19 release
Diffstat (limited to 'quickjs-libc.c')
-rw-r--r--quickjs-libc.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/quickjs-libc.c b/quickjs-libc.c
index da53fef..aff1b89 100644
--- a/quickjs-libc.c
+++ b/quickjs-libc.c
@@ -2027,6 +2027,20 @@ static JSValue js_os_getcwd(JSContext *ctx, JSValueConst this_val,
#if !defined(_WIN32)
+static JSValue js_os_chdir(JSContext *ctx, JSValueConst this_val,
+ int argc, JSValueConst *argv)
+{
+ const char *target;
+ int err;
+
+ target = JS_ToCString(ctx, argv[0]);
+ if (!target)
+ return JS_EXCEPTION;
+ err = chdir(target);
+ JS_FreeCString(ctx, target);
+ return js_os_return(ctx, err);
+}
+
/* return [path, errorcode] */
static JSValue js_os_realpath(JSContext *ctx, JSValueConst this_val,
int argc, JSValueConst *argv)
@@ -2581,6 +2595,7 @@ static const JSCFunctionListEntry js_os_funcs[] = {
JS_PROP_STRING_DEF("platform", OS_PLATFORM, 0 ),
JS_CFUNC_DEF("getcwd", 0, js_os_getcwd ),
#if !defined(_WIN32)
+ JS_CFUNC_DEF("chdir", 0, js_os_chdir ),
JS_CFUNC_DEF("realpath", 1, js_os_realpath ),
JS_CFUNC_DEF("mkdir", 1, js_os_mkdir ),
JS_CFUNC_MAGIC_DEF("stat", 1, js_os_stat, 0 ),