diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-05-25 01:39:27 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-05-25 01:42:24 +0300 |
commit | afaaf535e6cfaf599432b13a2fbe9373e6a2c4b8 (patch) | |
tree | 34ffa8efb2b5f06a128edc983d40025f703b5c26 /py/objstr.c | |
parent | 7a4ddd24281a7e21eeaa697644418015cf4dd650 (diff) |
objslice: Support arbitrary objects start, stop, and step.
Older int-only encoding is not expressive enough to support arbitrary slice
assignment operations.
Diffstat (limited to 'py/objstr.c')
-rw-r--r-- | py/objstr.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/py/objstr.c b/py/objstr.c index 4ec1034e1..67de2ce80 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -355,6 +355,9 @@ STATIC mp_obj_t str_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) { if (!mp_seq_get_fast_slice_indexes(self_len, index, &start, &stop)) { assert(0); } + if (start >= stop) { + return MP_OBJ_NEW_QSTR(MP_QSTR_); + } return str_new(type, self_data + start, stop - start); } #endif |