aboutsummaryrefslogtreecommitdiff
path: root/py/objgetitemiter.c
diff options
context:
space:
mode:
authorTom Soulanille <soul@prama.com>2015-08-29 17:33:21 -0700
committerDamien George <damien.p.george@gmail.com>2015-08-30 11:49:49 +0100
commit6433f71e8fbf54a035aa1a735f6f2e5c1c71e922 (patch)
treed81007caf387c3238e4bd65950c797ca290519b2 /py/objgetitemiter.c
parenta3fe30740035ef78d1107b6d55d1092b9502873d (diff)
py/objgetitemiter: Make it_iternext() recognize IndexError.
Diffstat (limited to 'py/objgetitemiter.c')
-rw-r--r--py/objgetitemiter.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/py/objgetitemiter.c b/py/objgetitemiter.c
index ab312c73c..ae98db8c7 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