needforspeed: more stringlib refactoring
diff --git a/Objects/stringlib/find.h b/Objects/stringlib/find.h
index d5394b4..9db633d 100644
--- a/Objects/stringlib/find.h
+++ b/Objects/stringlib/find.h
@@ -48,6 +48,39 @@
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
/*