From 5b3f0b7f39bd67cc9182993c288f09f67a0890df Mon Sep 17 00:00:00 2001 From: Damien George Date: Sun, 3 Jan 2016 15:55:55 +0000 Subject: py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*. The first argument to the type.make_new method is naturally a uPy type, and all uses of this argument cast it directly to a pointer to a type structure. So it makes sense to just have it a pointer to a type from the very beginning (and a const pointer at that). This patch makes such a change, and removes all unnecessary casting to/from mp_obj_t. --- extmod/moductypes.c | 4 ++-- extmod/moduhashlib.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'extmod') diff --git a/extmod/moductypes.c b/extmod/moductypes.c index cd7e9d178..9b078387b 100644 --- a/extmod/moductypes.c +++ b/extmod/moductypes.c @@ -121,10 +121,10 @@ STATIC NORETURN void syntax_error(void) { nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "syntax error in uctypes descriptor")); } -STATIC mp_obj_t uctypes_struct_make_new(mp_obj_t type_in, size_t n_args, size_t n_kw, const mp_obj_t *args) { +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 = MP_OBJ_TO_PTR(type_in); + o->base.type = type; o->addr = (void*)(uintptr_t)mp_obj_get_int(args[0]); o->desc = args[1]; o->flags = LAYOUT_NATIVE; diff --git a/extmod/moduhashlib.c b/extmod/moduhashlib.c index 6ddfa6141..86943578c 100644 --- a/extmod/moduhashlib.c +++ b/extmod/moduhashlib.c @@ -41,10 +41,10 @@ typedef struct _mp_obj_hash_t { STATIC mp_obj_t hash_update(mp_obj_t self_in, mp_obj_t arg); -STATIC mp_obj_t hash_make_new(mp_obj_t type_in, size_t n_args, size_t n_kw, const mp_obj_t *args) { +STATIC mp_obj_t hash_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 = MP_OBJ_TO_PTR(type_in); + o->base.type = type; sha256_init((CRYAL_SHA256_CTX*)o->state); if (n_args == 1) { hash_update(MP_OBJ_FROM_PTR(o), args[0]); -- cgit v1.2.3