From 9f85c4fe488a8f123348786448f534263dc003e1 Mon Sep 17 00:00:00 2001 From: Damien George Date: Fri, 2 Jun 2017 13:07:22 +1000 Subject: [PATCH] py/objstr: Catch case of negative "maxsplit" arg to str.rsplit(). Negative values mean no limit on the number of splits so should delegate to the .split() method. --- py/objstr.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/py/objstr.c b/py/objstr.c index a1e2235720..1d2a280453 100644 --- a/py/objstr.c +++ b/py/objstr.c @@ -602,6 +602,11 @@ STATIC mp_obj_t str_rsplit(size_t n_args, const mp_obj_t *args) { GET_STR_DATA_LEN(args[0], s, len); mp_int_t splits = mp_obj_get_int(args[2]); + if (splits < 0) { + // Negative limit means no limit, so delegate to split(). + return mp_obj_str_split(n_args, args); + } + mp_int_t org_splits = splits; // Preallocate list to the max expected # of elements, as we // will fill it from the end.