newlib-cygwin/newlib/libc/string/strrchr.c

54 lines
823 B
C
Raw Normal View History

2000-02-18 03:39:52 +08:00
/*
FUNCTION
<<strrchr>>---reverse search for character in string
INDEX
strrchr
SYNOPSIS
2000-02-18 03:39:52 +08:00
#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,
2000-02-18 03:39:52 +08:00
int i)
{
const char *last = NULL;
char c = i;
2000-02-18 03:39:52 +08:00
if (c)
2000-02-18 03:39:52 +08:00
{
while ((s=strchr(s, c)))
2000-02-18 03:39:52 +08:00
{
last = s;
s++;
2000-02-18 03:39:52 +08:00
}
}
else
2000-02-18 03:39:52 +08:00
{
last = strchr(s, c);
2000-02-18 03:39:52 +08:00
}
2000-02-18 03:39:52 +08:00
return (char *) last;
}