summaryrefslogtreecommitdiffhomepage
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index 4410d2d..0c44727 100644
--- a/eval.c
+++ b/eval.c
@@ -1531,7 +1531,7 @@ ut_globals_init(struct ut_state *state, struct json_object *scope)
}
enum ut_error_type
-ut_run(struct ut_state *state)
+ut_run(struct ut_state *state, struct json_object *env)
{
struct json_object *entry = NULL, *scope = NULL, *args = NULL, *rv = NULL;
struct ut_op *op = ut_get_op(state, state->main);
@@ -1545,6 +1545,11 @@ ut_run(struct ut_state *state)
state->ctx = NULL;
+ if (env) {
+ json_object_object_foreach(env, key, val)
+ json_object_object_add(scope, key, val);
+ }
+
ut_globals_init(state, scope);
ut_lib_init(state, scope);