diff options
author | John R. Lenton <jlenton@gmail.com> | 2014-01-13 02:31:00 +0000 |
---|---|---|
committer | John R. Lenton <jlenton@gmail.com> | 2014-01-13 02:31:00 +0000 |
commit | 07205ec323ca98d1c23af51e099119954d0fe7a4 (patch) | |
tree | 7752e520c792f47c43a005782bde9f7386fd0a2e /py/objtuple.c | |
parent | 34f813ee29c7191e3de455c3fc9c788496e3b29e (diff) |
added zip()
Diffstat (limited to 'py/objtuple.c')
-rw-r--r-- | py/objtuple.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/py/objtuple.c b/py/objtuple.c index 7685cc449..5c1169ed5 100644 --- a/py/objtuple.c +++ b/py/objtuple.c @@ -116,8 +116,10 @@ mp_obj_t mp_obj_new_tuple(uint n, const mp_obj_t *items) { mp_obj_tuple_t *o = m_new_obj_var(mp_obj_tuple_t, mp_obj_t, n); o->base.type = &tuple_type; o->len = n; - for (int i = 0; i < n; i++) { - o->items[i] = items[i]; + if (items) { + for (int i = 0; i < n; i++) { + o->items[i] = items[i]; + } } return o; } @@ -138,8 +140,18 @@ mp_obj_t mp_obj_new_tuple_reverse(uint n, const mp_obj_t *items) { void mp_obj_tuple_get(mp_obj_t self_in, uint *len, mp_obj_t **items) { assert(MP_OBJ_IS_TYPE(self_in, &tuple_type)); mp_obj_tuple_t *self = self_in; - *len = self->len; - *items = &self->items[0]; + if (len) { + *len = self->len; + } + if (items) { + *items = &self->items[0]; + } +} + +void mp_obj_tuple_del(mp_obj_t self_in) { + assert(MP_OBJ_IS_TYPE(self_in, &tuple_type)); + mp_obj_tuple_t *self = self_in; + m_del_var(mp_obj_tuple_t, mp_obj_t, self->len, self); } /******************************************************************************/ |