summaryrefslogtreecommitdiffstatshomepage
path: root/unix
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-11-13 22:26:10 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2015-11-13 22:26:51 +0200
commit27dafa5ed58084746328b57e48aa63892024de12 (patch)
treecf57e74565915373b2b51a157107e32ad60a1e12 /unix
parentd8557834c01539134d0039f8c8b9b7d013cc60cc (diff)
downloadmicropython-27dafa5ed58084746328b57e48aa63892024de12.tar.gz
micropython-27dafa5ed58084746328b57e48aa63892024de12.zip
unix/modos: Add mkdir().
Dependency of upip.
Diffstat (limited to 'unix')
-rw-r--r--unix/modos.c10
-rw-r--r--unix/qstrdefsport.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/unix/modos.c b/unix/modos.c
index b24e52af9e..af31c799da 100644
--- a/unix/modos.c
+++ b/unix/modos.c
@@ -141,6 +141,15 @@ STATIC mp_obj_t mod_os_getenv(mp_obj_t var_in) {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_os_getenv_obj, mod_os_getenv);
+STATIC mp_obj_t mod_os_mkdir(mp_obj_t path_in) {
+ // TODO: Accept mode param
+ const char *path = mp_obj_str_get_str(path_in);
+ int r = mkdir(path, 0777);
+ RAISE_ERRNO(r, errno);
+ return mp_const_none;
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_os_mkdir_obj, mod_os_mkdir);
+
STATIC const mp_map_elem_t mp_module_os_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR__os) },
{ MP_OBJ_NEW_QSTR(MP_QSTR_stat), (mp_obj_t)&mod_os_stat_obj },
@@ -150,6 +159,7 @@ STATIC const mp_map_elem_t mp_module_os_globals_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_system), (mp_obj_t)&mod_os_system_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_unlink),(mp_obj_t)&mod_os_unlink_obj},
{ MP_OBJ_NEW_QSTR(MP_QSTR_getenv),(mp_obj_t)&mod_os_getenv_obj},
+ { MP_OBJ_NEW_QSTR(MP_QSTR_mkdir),(mp_obj_t)&mod_os_mkdir_obj},
};
STATIC MP_DEFINE_CONST_DICT(mp_module_os_globals, mp_module_os_globals_table);
diff --git a/unix/qstrdefsport.h b/unix/qstrdefsport.h
index dccaaec349..0031f9d8b5 100644
--- a/unix/qstrdefsport.h
+++ b/unix/qstrdefsport.h
@@ -42,6 +42,7 @@ Q(statvfs)
Q(system)
Q(unlink)
Q(getenv)
+Q(mkdir)
Q(ffi)
Q(ffimod)