From 5806a4f5c3d0921d66e68dbf97083c1f0f80f1b9 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 17 Aug 1994 13:15:46 +0000 Subject: * Modules/stropmodule.c: implement find/rfind instead of index/rindex (raising and catching an exception is much more expensive than returning and testing -1) --- Modules/stropmodule.c | 14 ++++++-------- 1 file 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}, -- cgit v0.12