py/mpstate.h: Only include sys.path/argv objects in state when enabled.

The mp_sys_path_obj and mp_sys_argv_obj objects are only used by the
runtime and accessible from Python if MICROPY_PY_SYS is enabled.  So
exclude them from the runtime state if this option is disabled.

Signed-off-by: Damien George <damien@micropython.org>
pull/8098/merge
Damien George 2021-12-19 08:55:40 +11:00
rodzic de43b500bd
commit fe9ffff9c0
2 zmienionych plików z 3 dodań i 1 usunięć

Wyświetl plik

@ -1308,7 +1308,7 @@ typedef double mp_float_t;
// Whether to initialise "sys.path" and "sys.argv" to their defaults in mp_init()
#ifndef MICROPY_PY_SYS_PATH_ARGV_DEFAULTS
#define MICROPY_PY_SYS_PATH_ARGV_DEFAULTS (1)
#define MICROPY_PY_SYS_PATH_ARGV_DEFAULTS (MICROPY_PY_SYS)
#endif
// Whether to provide "sys.maxsize" constant

Wyświetl plik

@ -153,10 +153,12 @@ typedef struct _mp_state_vm_t {
// dictionary for the __main__ module
mp_obj_dict_t dict_main;
#if MICROPY_PY_SYS
// If MICROPY_PY_SYS_PATH_ARGV_DEFAULTS is not enabled then these two lists
// must be initialised after the call to mp_init.
mp_obj_list_t mp_sys_path_obj;
mp_obj_list_t mp_sys_argv_obj;
#endif
// dictionary for overridden builtins
#if MICROPY_CAN_OVERRIDE_BUILTINS