summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2010-08-10 16:37:20 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2010-08-10 16:37:20 (GMT)
commit331ea92ade37e5dcf14c44df59e5eda2136b1a8f (patch)
tree530dad9524b4b4f2dfd795a0ab25ee35d4e82291
parente1dd1747e8750ed8a7641d59899e3cb8db5ddca9 (diff)
downloadcpython-331ea92ade37e5dcf14c44df59e5eda2136b1a8f.zip
cpython-331ea92ade37e5dcf14c44df59e5eda2136b1a8f.tar.gz
cpython-331ea92ade37e5dcf14c44df59e5eda2136b1a8f.tar.bz2
Issue #9425: create Py_UNICODE_strrchr() function
-rw-r--r--Include/unicodeobject.h4
-rw-r--r--Objects/unicodeobject.c13
2 files changed, 17 insertions, 0 deletions
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 @@ PyAPI_FUNC(Py_UNICODE*) Py_UNICODE_strchr(
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 @@ Py_UNICODE_strchr(const Py_UNICODE *s, Py_UNICODE c)
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
}