needforspeed: more stringlib refactoring

This commit is contained in:
Fredrik Lundh 2006-05-27 10:05:10 +00:00
parent d532ba0746
commit 2d23d5bf2e
4 changed files with 161 additions and 147 deletions

View file

@ -48,6 +48,39 @@ stringlib_rfind(const STRINGLIB_CHAR* str, Py_ssize_t str_len,
return pos;
}
#ifdef STRINGLIB_STR
Py_LOCAL(Py_ssize_t)
stringlib_find_obj(PyObject* str, PyObject* sub,
Py_ssize_t start, Py_ssize_t end)
{
return stringlib_find(
STRINGLIB_STR(str) + start, end - start,
STRINGLIB_STR(sub), STRINGLIB_LEN(sub), start
);
}
Py_LOCAL(int)
stringlib_contains_obj(PyObject* str, PyObject* sub)
{
return stringlib_find(
STRINGLIB_STR(str), STRINGLIB_LEN(str),
STRINGLIB_STR(sub), STRINGLIB_LEN(sub), 0
) != -1;
}
Py_LOCAL(Py_ssize_t)
stringlib_rfind_obj(PyObject* str, PyObject* sub,
Py_ssize_t start, Py_ssize_t end)
{
return stringlib_rfind(
STRINGLIB_STR(str) + start, end - start,
STRINGLIB_STR(sub), STRINGLIB_LEN(sub), start
);
}
#endif
#endif
/*