summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1994-08-17 13:15:46 (GMT)
committerGuido van Rossum <guido@python.org>1994-08-17 13:15:46 (GMT)
commit5806a4f5c3d0921d66e68dbf97083c1f0f80f1b9 (patch)
tree6de9b08b4d6b63dd586b432a4855776e219792c3
parent3d67feed24d53d793f8367164b65f93d8407905b (diff)
downloadcpython-5806a4f5c3d0921d66e68dbf97083c1f0f80f1b9.zip
cpython-5806a4f5c3d0921d66e68dbf97083c1f0f80f1b9.tar.gz
cpython-5806a4f5c3d0921d66e68dbf97083c1f0f80f1b9.tar.bz2
* Modules/stropmodule.c: implement find/rfind instead of
index/rindex (raising and catching an exception is much more expensive than returning and testing -1)
-rw-r--r--Modules/stropmodule.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/Modules/stropmodule.c b/Modules/stropmodule.c
index 0fd09b0..68df4de 100644
--- a/Modules/stropmodule.c
+++ b/Modules/stropmodule.c
@@ -196,7 +196,7 @@ strop_joinfields(self, args)
static object *
-strop_index(self, args)
+strop_find(self, args)
object *self; /* Not used */
object *args;
{
@@ -227,13 +227,12 @@ strop_index(self, args)
(n == 1 || strncmp(&s[i+1], &sub[1], n-1) == 0))
return newintobject((long)i);
- err_setstr(ValueError, "substring not found");
- return NULL;
+ return newintobject(-1L);
}
static object *
-strop_rindex(self, args)
+strop_rfind(self, args)
object *self; /* Not used */
object *args;
{
@@ -263,8 +262,7 @@ strop_rindex(self, args)
(n == 1 || strncmp(&s[j+1], &sub[1], n-1) == 0))
return newintobject((long)j);
- err_setstr(ValueError, "substring not found");
- return NULL;
+ return newintobject(-1L);
}
@@ -512,10 +510,10 @@ static struct methodlist strop_methods[] = {
{"atof", strop_atof},
{"atoi", strop_atoi},
{"atol", strop_atol},
- {"index", strop_index},
+ {"find", strop_find},
{"joinfields", strop_joinfields},
{"lower", strop_lower},
- {"rindex", strop_rindex},
+ {"rfind", strop_rfind},
{"split", strop_split},
{"splitfields", strop_splitfields},
{"strip", strop_strip},