xref: /netbsd-src/external/gpl3/gcc/dist/libiberty/strrchr.c (revision 4fee23f98c45552038ad6b5bd05124a41302fb01)
1*4fee23f9Smrg /* Portable version of strrchr().
2*4fee23f9Smrg    This function is in the public domain. */
3*4fee23f9Smrg 
4*4fee23f9Smrg /*
5*4fee23f9Smrg 
6*4fee23f9Smrg @deftypefn Supplemental char* strrchr (const char *@var{s}, int @var{c})
7*4fee23f9Smrg 
8*4fee23f9Smrg Returns a pointer to the last occurrence of the character @var{c} in
9*4fee23f9Smrg the string @var{s}, or @code{NULL} if not found.  If @var{c} is itself the
10*4fee23f9Smrg null character, the results are undefined.
11*4fee23f9Smrg 
12*4fee23f9Smrg @end deftypefn
13*4fee23f9Smrg 
14*4fee23f9Smrg */
15*4fee23f9Smrg 
16*4fee23f9Smrg #include <ansidecl.h>
17*4fee23f9Smrg 
18*4fee23f9Smrg char *
strrchr(register const char * s,int c)19*4fee23f9Smrg strrchr (register const char *s, int c)
20*4fee23f9Smrg {
21*4fee23f9Smrg   char *rtnval = 0;
22*4fee23f9Smrg 
23*4fee23f9Smrg   do {
24*4fee23f9Smrg     if (*s == c)
25*4fee23f9Smrg       rtnval = (char*) s;
26*4fee23f9Smrg   } while (*s++);
27*4fee23f9Smrg   return (rtnval);
28*4fee23f9Smrg }
29