From 9e9ef9fa5a789f02a04c08998c4b74af9686e43a Mon Sep 17 00:00:00 2001 From: Fredrik Lundh Date: Tue, 30 May 2006 17:39:58 +0000 Subject: [PATCH] changed count to return 0 for slices outside the source string --- Lib/test/string_tests.py | 3 ++- Objects/stringlib/count.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py index c2e0875b768..8962c1f07a7 100644 --- a/Lib/test/string_tests.py +++ b/Lib/test/string_tests.py @@ -115,7 +115,8 @@ class CommonTest(unittest.TestCase): self.checkequal(2, 'aaa', 'count', 'a', 0, -1) self.checkequal(0, 'aaa', 'count', 'a', 0, -10) self.checkequal(3, 'aaa', 'count', '', 1) - self.checkequal(1, 'aaa', 'count', '', 10) + self.checkequal(1, 'aaa', 'count', '', 3) + self.checkequal(0, 'aaa', 'count', '', 10) self.checkequal(2, 'aaa', 'count', '', -1) self.checkequal(4, 'aaa', 'count', '', -10) diff --git a/Objects/stringlib/count.h b/Objects/stringlib/count.h index 84a852f52e4..367a15c51a5 100644 --- a/Objects/stringlib/count.h +++ b/Objects/stringlib/count.h @@ -15,7 +15,7 @@ stringlib_count(const STRINGLIB_CHAR* str, Py_ssize_t str_len, if (sub_len == 0) { if (str_len < 0) - return 1; /* start >= len(str) */ + return 0; /* start > len(str) */ return str_len + 1; }