From: Guido van Rossum Date: Wed, 17 Aug 1994 13:15:46 +0000 (+0000) Subject: * Modules/stropmodule.c: implement find/rfind instead of X-Git-Tag: v1.1~192 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5806a4f5c3d0921d66e68dbf97083c1f0f80f1b9;p=thirdparty%2FPython%2Fcpython.git * Modules/stropmodule.c: implement find/rfind instead of index/rindex (raising and catching an exception is much more expensive than returning and testing -1) --- diff --git a/Modules/stropmodule.c b/Modules/stropmodule.c index 0fd09b06d3cf..68df4dea3d88 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},