diff options
author | Tim Peters <tim.peters@gmail.com> | 2001-05-10 00:59:45 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2001-05-10 00:59:45 (GMT) |
commit | da45d55a6ecff00ca714cbcf66fb2133621ca836 (patch) | |
tree | 7a9702d24d8648deed352c8786a94799e7f3b1fe | |
parent | 9c012af3c368e0017b3671d241f6c3e370328232 (diff) | |
download | cpython-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.py | 2 | ||||
-rw-r--r-- | Modules/stropmodule.c | 2 |
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", |