diff options
Diffstat (limited to 'cpukit/libc/string/strrchr.c')
-rw-r--r-- | cpukit/libc/string/strrchr.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/cpukit/libc/string/strrchr.c b/cpukit/libc/string/strrchr.c new file mode 100644 index 0000000000..04897e162a --- /dev/null +++ b/cpukit/libc/string/strrchr.c @@ -0,0 +1,52 @@ +/* +FUNCTION + <<strrchr>>---reverse search for character in string + +INDEX + strrchr + +SYNOPSIS + #include <string.h> + char * strrchr(const char *<[string]>, int <[c]>); + +DESCRIPTION + This function finds the last occurence of <[c]> (converted to + a char) in the string pointed to by <[string]> (including the + terminating null character). + +RETURNS + Returns a pointer to the located character, or a null pointer + if <[c]> does not occur in <[string]>. + +PORTABILITY +<<strrchr>> is ANSI C. + +<<strrchr>> requires no supporting OS subroutines. + +QUICKREF + strrchr ansi pure +*/ + +#include <string.h> + +char * +strrchr (const char *s, + int i) +{ + const char *last = NULL; + + if (i) + { + while ((s=strchr(s, i))) + { + last = s; + s++; + } + } + else + { + last = strchr(s, i); + } + + return (char *) last; +} |