diff options
author | Tom Soulanille <soul@prama.com> | 2015-08-29 17:33:21 -0700 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2015-08-30 11:49:49 +0100 |
commit | 6433f71e8fbf54a035aa1a735f6f2e5c1c71e922 (patch) | |
tree | d81007caf387c3238e4bd65950c797ca290519b2 /py/objgetitemiter.c | |
parent | a3fe30740035ef78d1107b6d55d1092b9502873d (diff) | |
download | micropython-6433f71e8fbf54a035aa1a735f6f2e5c1c71e922.tar.gz micropython-6433f71e8fbf54a035aa1a735f6f2e5c1c71e922.zip |
py/objgetitemiter: Make it_iternext() recognize IndexError.
Diffstat (limited to 'py/objgetitemiter.c')
-rw-r--r-- | py/objgetitemiter.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/py/objgetitemiter.c b/py/objgetitemiter.c index ab312c73cf..ae98db8c7b 100644 --- a/py/objgetitemiter.c +++ b/py/objgetitemiter.c @@ -47,8 +47,9 @@ STATIC mp_obj_t it_iternext(mp_obj_t self_in) { return value; } else { // an exception was raised - if (mp_obj_get_type(nlr.ret_val) == &mp_type_StopIteration) { - // return MP_OBJ_STOP_ITERATION instead of raising StopIteration + mp_obj_type_t *t = mp_obj_get_type(nlr.ret_val); + if (t == &mp_type_StopIteration || t == &mp_type_IndexError) { + // return MP_OBJ_STOP_ITERATION instead of raising return MP_OBJ_STOP_ITERATION; } else { // re-raise exception |