From: Hye-Shik Chang Date: Tue, 23 Dec 2003 09:10:16 +0000 (+0000) Subject: Fix unicode.rsplit()'s bug that ignores separater on the end of string when X-Git-Tag: v2.4a1~1056 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7fc4cf57b8f75784e269e64403a1ea2b08bd512b;p=thirdparty%2FPython%2Fcpython.git Fix unicode.rsplit()'s bug that ignores separater on the end of string when using specialized splitter for 1 char sep. --- diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py index c3e53ad48b9a..eafc89a294d5 100644 --- a/Lib/test/string_tests.py +++ b/Lib/test/string_tests.py @@ -208,6 +208,8 @@ class CommonTest(unittest.TestCase): self.checkequal(['a\x00b', 'c'], 'a\x00b\x00c', 'rsplit', '\x00', 1) self.checkequal(['', ''], 'abcd', 'rsplit', 'abcd') self.checkequal([u'a b', u'c', u'd'], 'a b c d', 'rsplit', u' ', 2) + self.checkequal(['', ' endcase'], '| endcase', 'rsplit', '|') + self.checkequal(['', ' endcase'], 'test endcase', 'rsplit', 'test') def test_strip(self): self.checkequal('hello', ' hello ', 'strip') diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index b3c4a01e2f4e..636dfcc0c706 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -4294,7 +4294,7 @@ PyObject *rsplit_char(PyUnicodeObject *self, } else i--; } - if (j >= 0) { + if (j >= -1) { SPLIT_INSERT(self->str, 0, j + 1); } return list;