diff --git a/extmod/moduos_dupterm.c b/extmod/moduos_dupterm.c index 4c9f9e4940..66ca22ff95 100644 --- a/extmod/moduos_dupterm.c +++ b/extmod/moduos_dupterm.c @@ -69,9 +69,12 @@ STATIC mp_obj_t mp_uos_dupterm(mp_uint_t n_args, const mp_obj_t *args) { } } else { if (args[0] == mp_const_none) { - MP_STATE_PORT(term_obj) = NULL; + MP_STATE_PORT(term_obj) = MP_OBJ_NULL; } else { MP_STATE_PORT(term_obj) = args[0]; + if (MP_STATE_PORT(dupterm_arr_obj) == MP_OBJ_NULL) { + MP_STATE_PORT(dupterm_arr_obj) = mp_obj_new_bytearray(1, ""); + } } return mp_const_none; } diff --git a/py/mpstate.h b/py/mpstate.h index b79fd7c5c7..281795773f 100644 --- a/py/mpstate.h +++ b/py/mpstate.h @@ -143,6 +143,7 @@ typedef struct _mp_state_vm_t { #if MICROPY_PY_OS_DUPTERM mp_obj_t term_obj; + mp_obj_t dupterm_arr_obj; #endif #if MICROPY_PY_LWIP_SLIP