summaryrefslogtreecommitdiff
path: root/ports/unix/modffi.c
diff options
context:
space:
mode:
Diffstat (limited to 'ports/unix/modffi.c')
-rw-r--r--ports/unix/modffi.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/ports/unix/modffi.c b/ports/unix/modffi.c
index 0ff37a99f..ec252ef33 100644
--- a/ports/unix/modffi.c
+++ b/ports/unix/modffi.c
@@ -226,8 +226,7 @@ STATIC mp_obj_t make_func(mp_obj_t rettype_in, void *func, mp_obj_t argtypes_in)
const char *argtypes = mp_obj_str_get_str(argtypes_in);
mp_int_t nparams = MP_OBJ_SMALL_INT_VALUE(mp_obj_len_maybe(argtypes_in));
- mp_obj_ffifunc_t *o = m_new_obj_var(mp_obj_ffifunc_t, ffi_type *, nparams);
- o->base.type = &ffifunc_type;
+ mp_obj_ffifunc_t *o = mp_obj_malloc_var(mp_obj_ffifunc_t, ffi_type *, nparams, &ffifunc_type);
o->func = func;
o->rettype = *rettype;
@@ -334,8 +333,7 @@ STATIC mp_obj_t mod_ffi_callback(size_t n_args, const mp_obj_t *pos_args, mp_map
const char *rettype = mp_obj_str_get_str(rettype_in);
mp_int_t nparams = MP_OBJ_SMALL_INT_VALUE(mp_obj_len_maybe(paramtypes_in));
- mp_obj_fficallback_t *o = m_new_obj_var(mp_obj_fficallback_t, ffi_type *, nparams);
- o->base.type = &fficallback_type;
+ mp_obj_fficallback_t *o = mp_obj_malloc_var(mp_obj_fficallback_t, ffi_type *, nparams, &fficallback_type);
o->clo = ffi_closure_alloc(sizeof(ffi_closure), &o->func);
@@ -374,8 +372,7 @@ STATIC mp_obj_t ffimod_var(mp_obj_t self_in, mp_obj_t vartype_in, mp_obj_t symna
if (sym == NULL) {
mp_raise_OSError(MP_ENOENT);
}
- mp_obj_ffivar_t *o = m_new_obj(mp_obj_ffivar_t);
- o->base.type = &ffivar_type;
+ mp_obj_ffivar_t *o = mp_obj_malloc(mp_obj_ffivar_t, &ffivar_type);
o->var = sym;
o->type = *rettype;
@@ -408,8 +405,7 @@ STATIC mp_obj_t ffimod_make_new(const mp_obj_type_t *type, size_t n_args, size_t
if (mod == NULL) {
mp_raise_OSError(errno);
}
- mp_obj_ffimod_t *o = m_new_obj(mp_obj_ffimod_t);
- o->base.type = type;
+ mp_obj_ffimod_t *o = mp_obj_malloc(mp_obj_ffimod_t, type);
o->handle = mod;
return MP_OBJ_FROM_PTR(o);
}