Issue #9425: create Py_UNICODE_strrchr() function
diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h
index 6448cda..7f5e8fd 100644
--- a/Include/unicodeobject.h
+++ b/Include/unicodeobject.h
@@ -1622,6 +1622,10 @@
const Py_UNICODE *s, Py_UNICODE c
);
+PyAPI_FUNC(Py_UNICODE*) Py_UNICODE_strrchr(
+ const Py_UNICODE *s, Py_UNICODE c
+ );
+
#ifdef __cplusplus
}
#endif
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index f2d666d..478f9a9 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -9965,6 +9965,19 @@
return NULL;
}
+Py_UNICODE*
+Py_UNICODE_strrchr(const Py_UNICODE *s, Py_UNICODE c)
+{
+ const Py_UNICODE *p;
+ p = s + Py_UNICODE_strlen(s);
+ while (p != s) {
+ p--;
+ if (*p == c)
+ return (Py_UNICODE*)p;
+ }
+ return NULL;
+}
+
#ifdef __cplusplus
}