diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-11-13 21:29:18 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-11-13 21:30:06 +0200 |
commit | d8557834c01539134d0039f8c8b9b7d013cc60cc (patch) | |
tree | ea97d39dbd1cf7144056d4448133611d30969e91 /unix | |
parent | a01f6c9ae7c2be095a2ff954892dfc4c9217840f (diff) | |
download | micropython-d8557834c01539134d0039f8c8b9b7d013cc60cc.tar.gz micropython-d8557834c01539134d0039f8c8b9b7d013cc60cc.zip |
unix/modos: Add getenv().
Dependency of upip.
Diffstat (limited to 'unix')
-rw-r--r-- | unix/modos.c | 8 | ||||
-rw-r--r-- | unix/qstrdefsport.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/unix/modos.c b/unix/modos.c index 8463259d5f..b24e52af9e 100644 --- a/unix/modos.c +++ b/unix/modos.c @@ -30,6 +30,7 @@ #include <unistd.h> #include <errno.h> #include <stdlib.h> +#include <string.h> #include "py/mpconfig.h" #include "py/nlr.h" @@ -134,6 +135,12 @@ STATIC mp_obj_t mod_os_system(mp_obj_t cmd_in) { } STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_os_system_obj, mod_os_system); +STATIC mp_obj_t mod_os_getenv(mp_obj_t var_in) { + const char *s = getenv(mp_obj_str_get_str(var_in)); + return mp_obj_new_str(s, strlen(s), false); +} +STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_os_getenv_obj, mod_os_getenv); + 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 }, @@ -142,6 +149,7 @@ STATIC const mp_map_elem_t mp_module_os_globals_table[] = { #endif { 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}, }; 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 013d198ad4..dccaaec349 100644 --- a/unix/qstrdefsport.h +++ b/unix/qstrdefsport.h @@ -41,6 +41,7 @@ Q(statvfs) #endif Q(system) Q(unlink) +Q(getenv) Q(ffi) Q(ffimod) |