aboutsummaryrefslogtreecommitdiff
path: root/py/objenumerate.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-05-06 16:52:35 +0000
committerDamien George <damien.p.george@gmail.com>2014-05-06 16:52:35 +0000
commitc53b408f28942bfc5b64fee86ac89a339dc06e3f (patch)
tree9d3710b79da47b0b9d664f6e6c453cac39798579 /py/objenumerate.c
parent491cbd6a7cd0a212e28c548789db432b4e64327e (diff)
parentb473d0ae86402c07cf0a72edebdfccfae7646d32 (diff)
Merge branch 'master' of https://github.com/micropython/micropython
Conflicts: py/argcheck.c py/objenumerate.c py/runtime.h
Diffstat (limited to 'py/objenumerate.c')
-rw-r--r--py/objenumerate.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/py/objenumerate.c b/py/objenumerate.c
index 611b9b52e..7d9ea9915 100644
--- a/py/objenumerate.c
+++ b/py/objenumerate.c
@@ -48,6 +48,7 @@ STATIC const mp_arg_t enumerate_make_new_args[] = {
#define ENUMERATE_MAKE_NEW_NUM_ARGS ARRAY_SIZE(enumerate_make_new_args)
STATIC mp_obj_t enumerate_make_new(mp_obj_t type_in, uint n_args, uint n_kw, const mp_obj_t *args) {
+#if MICROPY_CPYTHON_COMPAT
// parse args
mp_arg_val_t vals[ENUMERATE_MAKE_NEW_NUM_ARGS];
mp_arg_parse_all_kw_array(n_args, n_kw, args, ENUMERATE_MAKE_NEW_NUM_ARGS, enumerate_make_new_args, vals);
@@ -57,6 +58,12 @@ STATIC mp_obj_t enumerate_make_new(mp_obj_t type_in, uint n_args, uint n_kw, con
o->base.type = &mp_type_enumerate;
o->iter = mp_getiter(vals[0].u_obj);
o->cur = vals[1].u_int;
+#else
+ mp_obj_enumerate_t *o = m_new_obj(mp_obj_enumerate_t);
+ o->base.type = &mp_type_enumerate;
+ o->iter = mp_getiter(args[0]);
+ o->cur = n_args > 1 ? mp_obj_get_int(args[1]) : 0;
+#endif
return o;
}