aboutsummaryrefslogtreecommitdiff
path: root/unix
diff options
context:
space:
mode:
authorPaul Sokolovsky2014-01-20 00:53:46 +0200
committerPaul Sokolovsky2014-01-20 01:00:28 +0200
commitfe2690da0a1b8556995f5a6d2368d250f504b4af (patch)
tree4aa26f12484de4b9de16107a8d03957c9696376c /unix
parentf477bfbc75318b30048b2e68f4d04348eac41105 (diff)
unix: Implement sys.argv.
Diffstat (limited to 'unix')
-rw-r--r--unix/main.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/unix/main.c b/unix/main.c
index b39ed4f2c..08567c04d 100644
--- a/unix/main.c
+++ b/unix/main.c
@@ -216,6 +216,10 @@ int main(int argc, char **argv) {
qstr_init();
rt_init();
+ mp_obj_t m_sys = mp_obj_new_module(qstr_from_str_static("sys"));
+ mp_obj_t py_argv = mp_obj_new_list(0, NULL);
+ rt_store_attr(m_sys, qstr_from_str_static("argv"), py_argv);
+
rt_store_name(qstr_from_str_static("test"), test_obj_new(42));
rt_store_name(qstr_from_str_static("open"), (mp_obj_t)&mp_builtin_open_obj);
rawsocket_init();
@@ -254,7 +258,11 @@ int main(int argc, char **argv) {
return usage();
}
} else {
+ for (int i = a; i < argc; i++) {
+ rt_list_append(py_argv, MP_OBJ_NEW_QSTR(qstr_from_strn_copy(argv[i], strlen(argv[i]))));
+ }
do_file(argv[a]);
+ break;
}
}
}