From 643d4288948c1655a3dfa3b03ce783c66e82a36f Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Wed, 29 Aug 2018 12:56:23 +0200 Subject: [PATCH] Default mujs shell to non-strict mode. Pass "-s" as the first argument to start the shell in strict mode. --- main.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/main.c b/main.c index 2731c10..5649ec3 100644 --- a/main.c +++ b/main.c @@ -208,9 +208,16 @@ main(int argc, char **argv) { char *input; js_State *J; - int i, status = 0; + int status = 0; + int flags = 0; + int i = 1; - J = js_newstate(NULL, NULL, JS_STRICT); + if (i < argc && !strcmp(argv[i], "-s")) { + flags |= JS_STRICT; + ++i; + } + + J = js_newstate(NULL, NULL, flags); js_newcfunction(J, jsB_gc, "gc", 0); js_setglobal(J, "gc"); @@ -236,10 +243,12 @@ main(int argc, char **argv) js_dostring(J, require_js); js_dostring(J, stacktrace_js); - if (argc > 1) { - for (i = 1; i < argc; ++i) + if (i < argc) { + while (i < argc) { if (js_dofile(J, argv[i])) status = 1; + ++i; + } } else { if (isatty(0)) { using_history();