py: Handle case of slice start > stop in common sequence function.

This commit is contained in:
Paul Sokolovsky
2014-05-25 02:29:40 +03:00
parent afaaf535e6
commit 69d081a7cf
2 changed files with 6 additions and 3 deletions

View File

@@ -88,6 +88,12 @@ bool mp_seq_get_fast_slice_indexes(machine_uint_t len, mp_obj_t slice, machine_u
} else if (stop > len) {
stop = len;
}
// CPython returns empty sequence in such case, or point for assignment is at start
if (start > stop) {
stop = start;
}
*begin = start;
*end = stop;
return true;