diff options
Diffstat (limited to 'extmod')
| -rw-r--r-- | extmod/machine_i2c.c | 3 | ||||
| -rw-r--r-- | extmod/machine_signal.c | 3 | ||||
| -rw-r--r-- | extmod/machine_spi.c | 3 | ||||
| -rw-r--r-- | extmod/modbluetooth.c | 3 | ||||
| -rw-r--r-- | extmod/modbtree.c | 3 | ||||
| -rw-r--r-- | extmod/modframebuf.c | 6 | ||||
| -rw-r--r-- | extmod/moduasyncio.c | 3 | ||||
| -rw-r--r-- | extmod/moducryptolib.c | 3 | ||||
| -rw-r--r-- | extmod/moductypes.c | 15 | ||||
| -rw-r--r-- | extmod/moduhashlib.c | 18 | ||||
| -rw-r--r-- | extmod/modure.c | 3 | ||||
| -rw-r--r-- | extmod/moduselect.c | 3 | ||||
| -rw-r--r-- | extmod/modutimeq.c | 3 | ||||
| -rw-r--r-- | extmod/moduwebsocket.c | 3 | ||||
| -rw-r--r-- | extmod/moduzlib.c | 3 | ||||
| -rw-r--r-- | extmod/modwebrepl.c | 3 | ||||
| -rw-r--r-- | extmod/vfs.c | 3 | ||||
| -rw-r--r-- | extmod/vfs_fat.c | 6 | ||||
| -rw-r--r-- | extmod/vfs_lfsx.c | 3 | ||||
| -rw-r--r-- | extmod/vfs_posix.c | 6 |
20 files changed, 32 insertions, 64 deletions
diff --git a/extmod/machine_i2c.c b/extmod/machine_i2c.c index 2b1275e5b..f2c959b95 100644 --- a/extmod/machine_i2c.c +++ b/extmod/machine_i2c.c @@ -668,8 +668,7 @@ STATIC void mp_machine_soft_i2c_init(mp_obj_base_t *self_in, size_t n_args, cons STATIC mp_obj_t mp_machine_soft_i2c_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { // create new soft I2C object - machine_i2c_obj_t *self = m_new_obj(machine_i2c_obj_t); - self->base.type = &mp_machine_soft_i2c_type; + machine_i2c_obj_t *self = mp_obj_malloc(machine_i2c_obj_t, &mp_machine_soft_i2c_type); mp_map_t kw_args; mp_map_init_fixed_table(&kw_args, n_kw, args + n_args); mp_machine_soft_i2c_init(&self->base, n_args, args, &kw_args); diff --git a/extmod/machine_signal.c b/extmod/machine_signal.c index f112ddc57..cf7550a2e 100644 --- a/extmod/machine_signal.c +++ b/extmod/machine_signal.c @@ -108,8 +108,7 @@ STATIC mp_obj_t signal_make_new(const mp_obj_type_t *type, size_t n_args, size_t } } - machine_signal_t *o = m_new_obj(machine_signal_t); - o->base.type = type; + machine_signal_t *o = mp_obj_malloc(machine_signal_t, type); o->pin = pin; o->invert = invert; return MP_OBJ_FROM_PTR(o); diff --git a/extmod/machine_spi.c b/extmod/machine_spi.c index ae5e6677d..f160f97d0 100644 --- a/extmod/machine_spi.c +++ b/extmod/machine_spi.c @@ -175,8 +175,7 @@ STATIC mp_obj_t mp_machine_soft_spi_make_new(const mp_obj_type_t *type, size_t n mp_arg_parse_all_kw_array(n_args, n_kw, all_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args); // create new object - mp_machine_soft_spi_obj_t *self = m_new_obj(mp_machine_soft_spi_obj_t); - self->base.type = &mp_machine_soft_spi_type; + mp_machine_soft_spi_obj_t *self = mp_obj_malloc(mp_machine_soft_spi_obj_t, &mp_machine_soft_spi_type); // set parameters self->spi.delay_half = baudrate_to_delay_half(args[ARG_baudrate].u_int); diff --git a/extmod/modbluetooth.c b/extmod/modbluetooth.c index c4b9675ce..68656551c 100644 --- a/extmod/modbluetooth.c +++ b/extmod/modbluetooth.c @@ -97,8 +97,7 @@ STATIC mp_obj_t bluetooth_uuid_make_new(const mp_obj_type_t *type, size_t n_args mp_arg_check_num(n_args, n_kw, 1, 1, false); - mp_obj_bluetooth_uuid_t *self = m_new_obj(mp_obj_bluetooth_uuid_t); - self->base.type = &mp_type_bluetooth_uuid; + mp_obj_bluetooth_uuid_t *self = mp_obj_malloc(mp_obj_bluetooth_uuid_t, &mp_type_bluetooth_uuid); if (mp_obj_is_int(all_args[0])) { self->type = MP_BLUETOOTH_UUID_TYPE_16; diff --git a/extmod/modbtree.c b/extmod/modbtree.c index 2dd3a89b8..467b68e1d 100644 --- a/extmod/modbtree.c +++ b/extmod/modbtree.c @@ -67,8 +67,7 @@ void __dbpanic(DB *db) { } STATIC mp_obj_btree_t *btree_new(DB *db, mp_obj_t stream) { - mp_obj_btree_t *o = m_new_obj(mp_obj_btree_t); - o->base.type = &btree_type; + mp_obj_btree_t *o = mp_obj_malloc(mp_obj_btree_t, &btree_type); o->stream = stream; o->db = db; o->start_key = mp_const_none; diff --git a/extmod/modframebuf.c b/extmod/modframebuf.c index 454624dda..27e9c3625 100644 --- a/extmod/modframebuf.c +++ b/extmod/modframebuf.c @@ -266,8 +266,7 @@ STATIC void fill_rect(const mp_obj_framebuf_t *fb, int x, int y, int w, int h, u STATIC mp_obj_t framebuf_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 4, 5, false); - mp_obj_framebuf_t *o = m_new_obj(mp_obj_framebuf_t); - o->base.type = type; + mp_obj_framebuf_t *o = mp_obj_malloc(mp_obj_framebuf_t, type); o->buf_obj = args[0]; mp_buffer_info_t bufinfo; @@ -628,8 +627,7 @@ STATIC const mp_obj_type_t mp_type_framebuf = { // this factory function is provided for backwards compatibility with old FrameBuffer1 class STATIC mp_obj_t legacy_framebuffer1(size_t n_args, const mp_obj_t *args) { - mp_obj_framebuf_t *o = m_new_obj(mp_obj_framebuf_t); - o->base.type = &mp_type_framebuf; + mp_obj_framebuf_t *o = mp_obj_malloc(mp_obj_framebuf_t, &mp_type_framebuf); mp_buffer_info_t bufinfo; mp_get_buffer_raise(args[0], &bufinfo, MP_BUFFER_WRITE); diff --git a/extmod/moduasyncio.c b/extmod/moduasyncio.c index 229a146c1..c4ee897c2 100644 --- a/extmod/moduasyncio.c +++ b/extmod/moduasyncio.c @@ -87,8 +87,7 @@ STATIC int task_lt(mp_pairheap_t *n1, mp_pairheap_t *n2) { STATIC mp_obj_t task_queue_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { (void)args; mp_arg_check_num(n_args, n_kw, 0, 0, false); - mp_obj_task_queue_t *self = m_new_obj(mp_obj_task_queue_t); - self->base.type = type; + mp_obj_task_queue_t *self = mp_obj_malloc(mp_obj_task_queue_t, type); self->heap = (mp_obj_task_t *)mp_pairheap_new(task_lt); return MP_OBJ_FROM_PTR(self); } diff --git a/extmod/moducryptolib.c b/extmod/moducryptolib.c index 6c89d6d9f..50cdbfa72 100644 --- a/extmod/moducryptolib.c +++ b/extmod/moducryptolib.c @@ -228,8 +228,7 @@ STATIC mp_obj_t ucryptolib_aes_make_new(const mp_obj_type_t *type, size_t n_args mp_raise_ValueError(MP_ERROR_TEXT("mode")); } - mp_obj_aes_t *o = m_new_obj_var(mp_obj_aes_t, struct ctr_params, !!is_ctr_mode(block_mode)); - o->base.type = type; + mp_obj_aes_t *o = mp_obj_malloc_var(mp_obj_aes_t, struct ctr_params, !!is_ctr_mode(block_mode), type); o->block_mode = block_mode; o->key_type = AES_KEYTYPE_NONE; diff --git a/extmod/moductypes.c b/extmod/moductypes.c index 58f0adfa4..7a0cbc39b 100644 --- a/extmod/moductypes.c +++ b/extmod/moductypes.c @@ -95,8 +95,7 @@ STATIC NORETURN void syntax_error(void) { STATIC mp_obj_t uctypes_struct_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 2, 3, false); - mp_obj_uctypes_struct_t *o = m_new_obj(mp_obj_uctypes_struct_t); - o->base.type = type; + mp_obj_uctypes_struct_t *o = mp_obj_malloc(mp_obj_uctypes_struct_t, type); o->addr = (void *)(uintptr_t)mp_obj_int_get_truncated(args[0]); o->desc = args[1]; o->flags = LAYOUT_NATIVE; @@ -463,8 +462,7 @@ STATIC mp_obj_t uctypes_struct_attr_op(mp_obj_t self_in, qstr attr, mp_obj_t set switch (agg_type) { case STRUCT: { - mp_obj_uctypes_struct_t *o = m_new_obj(mp_obj_uctypes_struct_t); - o->base.type = &uctypes_struct_type; + mp_obj_uctypes_struct_t *o = mp_obj_malloc(mp_obj_uctypes_struct_t, &uctypes_struct_type); o->desc = sub->items[1]; o->addr = self->addr + offset; o->flags = self->flags; @@ -479,8 +477,7 @@ STATIC mp_obj_t uctypes_struct_attr_op(mp_obj_t self_in, qstr attr, mp_obj_t set MP_FALLTHROUGH } case PTR: { - mp_obj_uctypes_struct_t *o = m_new_obj(mp_obj_uctypes_struct_t); - o->base.type = &uctypes_struct_type; + mp_obj_uctypes_struct_t *o = mp_obj_malloc(mp_obj_uctypes_struct_t, &uctypes_struct_type); o->desc = MP_OBJ_FROM_PTR(sub); o->addr = self->addr + offset; o->flags = self->flags; @@ -552,8 +549,7 @@ STATIC mp_obj_t uctypes_struct_subscr(mp_obj_t self_in, mp_obj_t index_in, mp_ob } else if (value == MP_OBJ_SENTINEL) { mp_uint_t dummy = 0; mp_uint_t size = uctypes_struct_size(t->items[2], self->flags, &dummy); - mp_obj_uctypes_struct_t *o = m_new_obj(mp_obj_uctypes_struct_t); - o->base.type = &uctypes_struct_type; + mp_obj_uctypes_struct_t *o = mp_obj_malloc(mp_obj_uctypes_struct_t, &uctypes_struct_type); o->desc = t->items[2]; o->addr = self->addr + size * index; o->flags = self->flags; @@ -570,8 +566,7 @@ STATIC mp_obj_t uctypes_struct_subscr(mp_obj_t self_in, mp_obj_t index_in, mp_ob } else { mp_uint_t dummy = 0; mp_uint_t size = uctypes_struct_size(t->items[1], self->flags, &dummy); - mp_obj_uctypes_struct_t *o = m_new_obj(mp_obj_uctypes_struct_t); - o->base.type = &uctypes_struct_type; + mp_obj_uctypes_struct_t *o = mp_obj_malloc(mp_obj_uctypes_struct_t, &uctypes_struct_type); o->desc = t->items[1]; o->addr = p + size * index; o->flags = self->flags; diff --git a/extmod/moduhashlib.c b/extmod/moduhashlib.c index e97e8cb75..765dd29c1 100644 --- a/extmod/moduhashlib.c +++ b/extmod/moduhashlib.c @@ -83,8 +83,7 @@ STATIC mp_obj_t uhashlib_sha256_update(mp_obj_t self_in, mp_obj_t arg); STATIC mp_obj_t uhashlib_sha256_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 0, 1, false); - mp_obj_hash_t *o = m_new_obj_var(mp_obj_hash_t, char, sizeof(mbedtls_sha256_context)); - o->base.type = type; + mp_obj_hash_t *o = mp_obj_malloc_var(mp_obj_hash_t, char, sizeof(mbedtls_sha256_context), type); o->final = false; mbedtls_sha256_init((mbedtls_sha256_context *)&o->state); mbedtls_sha256_starts_ret((mbedtls_sha256_context *)&o->state, 0); @@ -119,8 +118,7 @@ STATIC mp_obj_t uhashlib_sha256_digest(mp_obj_t self_in) { STATIC mp_obj_t uhashlib_sha256_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 0, 1, false); - mp_obj_hash_t *o = m_new_obj_var(mp_obj_hash_t, char, sizeof(CRYAL_SHA256_CTX)); - o->base.type = type; + mp_obj_hash_t *o = mp_obj_malloc_var(mp_obj_hash_t, char, sizeof(CRYAL_SHA256_CTX), type); o->final = false; sha256_init((CRYAL_SHA256_CTX *)o->state); if (n_args == 1) { @@ -173,8 +171,7 @@ STATIC mp_obj_t uhashlib_sha1_update(mp_obj_t self_in, mp_obj_t arg); #if MICROPY_SSL_AXTLS STATIC mp_obj_t uhashlib_sha1_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 0, 1, false); - mp_obj_hash_t *o = m_new_obj_var(mp_obj_hash_t, char, sizeof(SHA1_CTX)); - o->base.type = type; + mp_obj_hash_t *o = mp_obj_malloc_var(mp_obj_hash_t, char, sizeof(SHA1_CTX), type); o->final = false; SHA1_Init((SHA1_CTX *)o->state); if (n_args == 1) { @@ -213,8 +210,7 @@ STATIC mp_obj_t uhashlib_sha1_digest(mp_obj_t self_in) { STATIC mp_obj_t uhashlib_sha1_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 0, 1, false); - mp_obj_hash_t *o = m_new_obj_var(mp_obj_hash_t, char, sizeof(mbedtls_sha1_context)); - o->base.type = type; + mp_obj_hash_t *o = mp_obj_malloc_var(mp_obj_hash_t, char, sizeof(mbedtls_sha1_context), type); o->final = false; mbedtls_sha1_init((mbedtls_sha1_context *)o->state); mbedtls_sha1_starts_ret((mbedtls_sha1_context *)o->state); @@ -268,8 +264,7 @@ STATIC mp_obj_t uhashlib_md5_update(mp_obj_t self_in, mp_obj_t arg); #if MICROPY_SSL_AXTLS STATIC mp_obj_t uhashlib_md5_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 0, 1, false); - mp_obj_hash_t *o = m_new_obj_var(mp_obj_hash_t, char, sizeof(MD5_CTX)); - o->base.type = type; + mp_obj_hash_t *o = mp_obj_malloc_var(mp_obj_hash_t, char, sizeof(MD5_CTX), type); o->final = false; MD5_Init((MD5_CTX *)o->state); if (n_args == 1) { @@ -308,8 +303,7 @@ STATIC mp_obj_t uhashlib_md5_digest(mp_obj_t self_in) { STATIC mp_obj_t uhashlib_md5_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 0, 1, false); - mp_obj_hash_t *o = m_new_obj_var(mp_obj_hash_t, char, sizeof(mbedtls_md5_context)); - o->base.type = type; + mp_obj_hash_t *o = mp_obj_malloc_var(mp_obj_hash_t, char, sizeof(mbedtls_md5_context), type); o->final = false; mbedtls_md5_init((mbedtls_md5_context *)o->state); mbedtls_md5_starts_ret((mbedtls_md5_context *)o->state); diff --git a/extmod/modure.c b/extmod/modure.c index d9e5451eb..70bc02aa4 100644 --- a/extmod/modure.c +++ b/extmod/modure.c @@ -406,8 +406,7 @@ STATIC mp_obj_t mod_re_compile(size_t n_args, const mp_obj_t *args) { if (size == -1) { goto error; } - mp_obj_re_t *o = m_new_obj_var(mp_obj_re_t, char, size); - o->base.type = &re_type; + mp_obj_re_t *o = mp_obj_malloc_var(mp_obj_re_t, char, size, &re_type); #if MICROPY_PY_URE_DEBUG int flags = 0; if (n_args > 1) { diff --git a/extmod/moduselect.c b/extmod/moduselect.c index cf47f02af..27dc04604 100644 --- a/extmod/moduselect.c +++ b/extmod/moduselect.c @@ -346,8 +346,7 @@ STATIC const mp_obj_type_t mp_type_poll = { // poll() STATIC mp_obj_t select_poll(void) { - mp_obj_poll_t *poll = m_new_obj(mp_obj_poll_t); - poll->base.type = &mp_type_poll; + mp_obj_poll_t *poll = mp_obj_malloc(mp_obj_poll_t, &mp_type_poll); mp_map_init(&poll->poll_map, 0); poll->iter_cnt = 0; poll->ret_tuple = MP_OBJ_NULL; diff --git a/extmod/modutimeq.c b/extmod/modutimeq.c index c7467f3bf..e92f4d903 100644 --- a/extmod/modutimeq.c +++ b/extmod/modutimeq.c @@ -77,8 +77,7 @@ STATIC bool time_less_than(struct qentry *item, struct qentry *parent) { STATIC mp_obj_t utimeq_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 1, 1, false); mp_uint_t alloc = mp_obj_get_int(args[0]); - mp_obj_utimeq_t *o = m_new_obj_var(mp_obj_utimeq_t, struct qentry, alloc); - o->base.type = type; + mp_obj_utimeq_t *o = mp_obj_malloc_var(mp_obj_utimeq_t, struct qentry, alloc, type); memset(o->items, 0, sizeof(*o->items) * alloc); o->alloc = alloc; o->len = 0; diff --git a/extmod/moduwebsocket.c b/extmod/moduwebsocket.c index 34b520f33..44e77da56 100644 --- a/extmod/moduwebsocket.c +++ b/extmod/moduwebsocket.c @@ -60,8 +60,7 @@ STATIC mp_uint_t websocket_write(mp_obj_t self_in, const void *buf, mp_uint_t si STATIC mp_obj_t websocket_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 1, 2, false); mp_get_stream_raise(args[0], MP_STREAM_OP_READ | MP_STREAM_OP_WRITE | MP_STREAM_OP_IOCTL); - mp_obj_websocket_t *o = m_new_obj(mp_obj_websocket_t); - o->base.type = type; + mp_obj_websocket_t *o = mp_obj_malloc(mp_obj_websocket_t, type); o->sock = args[0]; o->state = FRAME_HEADER; o->to_recv = 2; diff --git a/extmod/moduzlib.c b/extmod/moduzlib.c index a6874fb4e..d02404f1c 100644 --- a/extmod/moduzlib.c +++ b/extmod/moduzlib.c @@ -69,8 +69,7 @@ STATIC int read_src_stream(TINF_DATA *data) { STATIC mp_obj_t decompio_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 1, 2, false); mp_get_stream_raise(args[0], MP_STREAM_OP_READ); - mp_obj_decompio_t *o = m_new_obj(mp_obj_decompio_t); - o->base.type = type; + mp_obj_decompio_t *o = mp_obj_malloc(mp_obj_decompio_t, type); memset(&o->decomp, 0, sizeof(o->decomp)); o->decomp.readSource = read_src_stream; o->src_stream = args[0]; diff --git a/extmod/modwebrepl.c b/extmod/modwebrepl.c index a8430bafb..63810447f 100644 --- a/extmod/modwebrepl.c +++ b/extmod/modwebrepl.c @@ -97,8 +97,7 @@ STATIC mp_obj_t webrepl_make_new(const mp_obj_type_t *type, size_t n_args, size_ mp_arg_check_num(n_args, n_kw, 1, 2, false); mp_get_stream_raise(args[0], MP_STREAM_OP_READ | MP_STREAM_OP_WRITE | MP_STREAM_OP_IOCTL); DEBUG_printf("sizeof(struct webrepl_file) = %lu\n", sizeof(struct webrepl_file)); - mp_obj_webrepl_t *o = m_new_obj(mp_obj_webrepl_t); - o->base.type = type; + mp_obj_webrepl_t *o = mp_obj_malloc(mp_obj_webrepl_t, type); o->sock = args[0]; o->hdr_to_recv = sizeof(struct webrepl_file); o->data_to_recv = 0; diff --git a/extmod/vfs.c b/extmod/vfs.c index 6dcdcfa22..8e5e03632 100644 --- a/extmod/vfs.c +++ b/extmod/vfs.c @@ -417,8 +417,7 @@ mp_obj_t mp_vfs_ilistdir(size_t n_args, const mp_obj_t *args) { if (vfs == MP_VFS_ROOT) { // list the root directory - mp_vfs_ilistdir_it_t *iter = m_new_obj(mp_vfs_ilistdir_it_t); - iter->base.type = &mp_type_polymorph_iter; + mp_vfs_ilistdir_it_t *iter = mp_obj_malloc(mp_vfs_ilistdir_it_t, &mp_type_polymorph_iter); iter->iternext = mp_vfs_ilistdir_it_iternext; iter->cur.vfs = MP_STATE_VM(vfs_mount_table); iter->is_str = mp_obj_get_type(path_in) == &mp_type_str; diff --git a/extmod/vfs_fat.c b/extmod/vfs_fat.c index 41284500b..27681ca77 100644 --- a/extmod/vfs_fat.c +++ b/extmod/vfs_fat.c @@ -66,8 +66,7 @@ STATIC mp_obj_t fat_vfs_make_new(const mp_obj_type_t *type, size_t n_args, size_ mp_arg_check_num(n_args, n_kw, 1, 1, false); // create new object - fs_user_mount_t *vfs = m_new_obj(fs_user_mount_t); - vfs->base.type = type; + fs_user_mount_t *vfs = mp_obj_malloc(fs_user_mount_t, type); vfs->fatfs.drv = vfs; // Initialise underlying block device @@ -177,8 +176,7 @@ STATIC mp_obj_t fat_vfs_ilistdir_func(size_t n_args, const mp_obj_t *args) { } // Create a new iterator object to list the dir - mp_vfs_fat_ilistdir_it_t *iter = m_new_obj(mp_vfs_fat_ilistdir_it_t); - iter->base.type = &mp_type_polymorph_iter; + mp_vfs_fat_ilistdir_it_t *iter = mp_obj_malloc(mp_vfs_fat_ilistdir_it_t, &mp_type_polymorph_iter); iter->iternext = mp_vfs_fat_ilistdir_it_iternext; iter->is_str = is_str_type; FRESULT res = f_opendir(&self->fatfs, &iter->dir, path); diff --git a/extmod/vfs_lfsx.c b/extmod/vfs_lfsx.c index e1324f82c..dbd32338c 100644 --- a/extmod/vfs_lfsx.c +++ b/extmod/vfs_lfsx.c @@ -203,8 +203,7 @@ STATIC mp_obj_t MP_VFS_LFSx(ilistdir_func)(size_t n_args, const mp_obj_t *args) path = vstr_null_terminated_str(&self->cur_dir); } - MP_VFS_LFSx(ilistdir_it_t) * iter = m_new_obj(MP_VFS_LFSx(ilistdir_it_t)); - iter->base.type = &mp_type_polymorph_iter; + MP_VFS_LFSx(ilistdir_it_t) * iter = mp_obj_malloc(MP_VFS_LFSx(ilistdir_it_t), &mp_type_polymorph_iter); iter->iternext = MP_VFS_LFSx(ilistdir_it_iternext); iter->is_str = is_str_type; iter->vfs = self; diff --git a/extmod/vfs_posix.c b/extmod/vfs_posix.c index 5dcc9c03e..1ada596d1 100644 --- a/extmod/vfs_posix.c +++ b/extmod/vfs_posix.c @@ -98,8 +98,7 @@ STATIC mp_import_stat_t mp_vfs_posix_import_stat(void *self_in, const char *path STATIC mp_obj_t vfs_posix_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { mp_arg_check_num(n_args, n_kw, 0, 1, false); - mp_obj_vfs_posix_t *vfs = m_new_obj(mp_obj_vfs_posix_t); - vfs->base.type = type; + mp_obj_vfs_posix_t *vfs = mp_obj_malloc(mp_obj_vfs_posix_t, type); vstr_init(&vfs->root, 0); if (n_args == 1) { vstr_add_str(&vfs->root, mp_obj_str_get_str(args[0])); @@ -229,8 +228,7 @@ STATIC mp_obj_t vfs_posix_ilistdir_it_iternext(mp_obj_t self_in) { STATIC mp_obj_t vfs_posix_ilistdir(mp_obj_t self_in, mp_obj_t path_in) { mp_obj_vfs_posix_t *self = MP_OBJ_TO_PTR(self_in); - vfs_posix_ilistdir_it_t *iter = m_new_obj(vfs_posix_ilistdir_it_t); - iter->base.type = &mp_type_polymorph_iter; + vfs_posix_ilistdir_it_t *iter = mp_obj_malloc(vfs_posix_ilistdir_it_t, &mp_type_polymorph_iter); iter->iternext = vfs_posix_ilistdir_it_iternext; iter->is_str = mp_obj_get_type(path_in) == &mp_type_str; const char *path = vfs_posix_get_path_str(self, path_in); |
