summaryrefslogtreecommitdiff
path: root/py/objstr.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-05-25 01:39:27 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-05-25 01:42:24 +0300
commitafaaf535e6cfaf599432b13a2fbe9373e6a2c4b8 (patch)
tree34ffa8efb2b5f06a128edc983d40025f703b5c26 /py/objstr.c
parent7a4ddd24281a7e21eeaa697644418015cf4dd650 (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.c3
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