From 36cb94956ae4cd534327c0118dc690d7b269727a Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Fri, 23 Nov 2007 16:42:44 +0000 Subject: [Mini-OS] Add strrchr() Add strrchr(), useful e.g. for grabbing the last part of a xenbus path. Signed-off-by: Samuel Thibault --- extras/mini-os/include/lib.h | 1 + extras/mini-os/lib/string.c | 9 +++++++++ 2 files changed, 10 insertions(+) (limited to 'extras') diff --git a/extras/mini-os/include/lib.h b/extras/mini-os/include/lib.h index 809c429789..1673d88424 100644 --- a/extras/mini-os/include/lib.h +++ b/extras/mini-os/include/lib.h @@ -87,6 +87,7 @@ void *memset(void *s,int c, size_t count); size_t strnlen(const char *s, size_t count); size_t strlen(const char *s); char *strchr(const char *s, int c); +char *strrchr(const char *s, int c); char *strstr(const char *s1, const char *s2); char * strcat(char * dest, const char * src); char *strdup(const char *s); diff --git a/extras/mini-os/lib/string.c b/extras/mini-os/lib/string.c index c52ae43a89..019c922447 100644 --- a/extras/mini-os/lib/string.c +++ b/extras/mini-os/lib/string.c @@ -140,6 +140,15 @@ char * strchr(const char * s, int c) return (char *)s; } +char * strrchr(const char * s, int c) +{ + const char *res; + for(; *s != '\0'; ++s) + if (*s == (char) c) + res = s; + return (char *)res; +} + char * strstr(const char * s1,const char * s2) { int l1, l2; -- cgit v1.2.3