From da45d55a6ecff00ca714cbcf66fb2133621ca836 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Thu, 10 May 2001 00:59:45 +0000 Subject: [PATCH] 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. --- Lib/test/test_strop.py | 2 +- 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 57700460da3..de7a7959ff6 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 c2457949a29..aa9cdc76a05 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",