diff options
Diffstat (limited to 'src/string/strrchr.c')
-rw-r--r-- | src/string/strrchr.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/string/strrchr.c b/src/string/strrchr.c new file mode 100644 index 00000000..0427aa66 --- /dev/null +++ b/src/string/strrchr.c @@ -0,0 +1,30 @@ +#include <string.h> +#include "nonstd/assert.h" + +/** search string from end **/ +char * strrchr(const char *s, int c) +{ + int i = 0; + + ASSERT_NONNULL(s); + + for (i = strlen(s) + 1; i >= 0; i--) { + if (s[i] == (char)c) { + return (char*)s + i; + } + } + + /* + RETURN_SUCCESS(a pointer to the found character); + RETURN_FAILURE(CONSTANT(NULL)); + */ + return NULL; +} + +/*** +finds the last occurence of ARGUMENT(c) (converted to TYPE(char)) in the +string ARGUMENT(s). +***/ +/* +STDC(1) +*/ |