diff options
author | Guido van Rossum <guido@python.org> | 1994-08-17 13:15:46 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1994-08-17 13:15:46 (GMT) |
commit | 5806a4f5c3d0921d66e68dbf97083c1f0f80f1b9 (patch) | |
tree | 6de9b08b4d6b63dd586b432a4855776e219792c3 | |
parent | 3d67feed24d53d793f8367164b65f93d8407905b (diff) | |
download | cpython-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.c | 14 |
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}, |