summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2001-05-10 00:59:45 (GMT)
committerTim Peters <tim.peters@gmail.com>2001-05-10 00:59:45 (GMT)
commitda45d55a6ecff00ca714cbcf66fb2133621ca836 (patch)
tree7a9702d24d8648deed352c8786a94799e7f3b1fe
parent9c012af3c368e0017b3671d241f6c3e370328232 (diff)
downloadcpython-da45d55a6ecff00ca714cbcf66fb2133621ca836.zip
cpython-da45d55a6ecff00ca714cbcf66fb2133621ca836.tar.gz
cpython-da45d55a6ecff00ca714cbcf66fb2133621ca836.tar.bz2
The strop module and test_strop.py believe replace() with a 0 count
means "replace everything". But the string module, string.replace() amd test_string.py believe a 0 count means "replace nothing". "Nothing" wins, strop loses. Bugfix candidate.
-rw-r--r--Lib/test/test_strop.py2
-rw-r--r--Modules/stropmodule.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/Lib/test/test_strop.py b/Lib/test/test_strop.py
index 5770046..de7a795 100644
--- a/Lib/test/test_strop.py
+++ b/Lib/test/test_strop.py
@@ -77,7 +77,7 @@ test('replace', 'one!two!three!', 'one@two!three!', '!', '@', 1)
test('replace', 'one!two!three!', 'one@two@three!', '!', '@', 2)
test('replace', 'one!two!three!', 'one@two@three@', '!', '@', 3)
test('replace', 'one!two!three!', 'one@two@three@', '!', '@', 4)
-test('replace', 'one!two!three!', 'one@two@three@', '!', '@', 0)
+test('replace', 'one!two!three!', 'one!two!three!', '!', '@', 0)
test('replace', 'one!two!three!', 'one@two@three@', '!', '@')
test('replace', 'one!two!three!', 'one!two!three!', 'x', '@')
test('replace', 'one!two!three!', 'one!two!three!', 'x', '@', 2)
diff --git a/Modules/stropmodule.c b/Modules/stropmodule.c
index c245794..aa9cdc7 100644
--- a/Modules/stropmodule.c
+++ b/Modules/stropmodule.c
@@ -1121,7 +1121,7 @@ strop_replace(PyObject *self, PyObject *args)
{
char *str, *pat,*sub,*new_s;
int len,pat_len,sub_len,out_len;
- int count = 0;
+ int count = -1;
PyObject *new;
if (!PyArg_ParseTuple(args, "t#t#t#|i:replace",