File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3030#include <unistd.h>
3131#include <errno.h>
3232#include <stdlib.h>
33+ #include <string.h>
3334#include "py/mpconfig.h"
3435
3536#include "py/nlr.h"
@@ -134,6 +135,12 @@ STATIC mp_obj_t mod_os_system(mp_obj_t cmd_in) {
134135}
135136STATIC MP_DEFINE_CONST_FUN_OBJ_1 (mod_os_system_obj , mod_os_system );
136137
138+ STATIC mp_obj_t mod_os_getenv (mp_obj_t var_in ) {
139+ const char * s = getenv (mp_obj_str_get_str (var_in ));
140+ return mp_obj_new_str (s , strlen (s ), false);
141+ }
142+ STATIC MP_DEFINE_CONST_FUN_OBJ_1 (mod_os_getenv_obj , mod_os_getenv );
143+
137144STATIC const mp_map_elem_t mp_module_os_globals_table [] = {
138145 { MP_OBJ_NEW_QSTR (MP_QSTR___name__ ), MP_OBJ_NEW_QSTR (MP_QSTR__os ) },
139146 { 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[] = {
142149 #endif
143150 { MP_OBJ_NEW_QSTR (MP_QSTR_system ), (mp_obj_t )& mod_os_system_obj },
144151 { MP_OBJ_NEW_QSTR (MP_QSTR_unlink ),(mp_obj_t )& mod_os_unlink_obj },
152+ { MP_OBJ_NEW_QSTR (MP_QSTR_getenv ),(mp_obj_t )& mod_os_getenv_obj },
145153};
146154
147155STATIC MP_DEFINE_CONST_DICT (mp_module_os_globals , mp_module_os_globals_table );
Original file line number Diff line number Diff line change @@ -41,6 +41,7 @@ Q(statvfs)
4141#endif
4242Q (system )
4343Q (unlink )
44+ Q (getenv )
4445
4546Q (ffi )
4647Q (ffimod )
You can’t perform that action at this time.
0 commit comments