diff options
Diffstat (limited to 'private/crt32/string/strrchr.c')
-rw-r--r-- | private/crt32/string/strrchr.c | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/private/crt32/string/strrchr.c b/private/crt32/string/strrchr.c new file mode 100644 index 000000000..e533aa34e --- /dev/null +++ b/private/crt32/string/strrchr.c @@ -0,0 +1,59 @@ +/*** +*strrchr.c - find last occurrence of character in string +* +* Copyright (c) 1985-1991, Microsoft Corporation. All rights reserved. +* +*Purpose: +* defines strrchr() - find the last occurrence of a given character +* in a string. +* +*Revision History: +* 02-27-90 GJF Fixed calling type, #include <cruntime.h>, fixed +* copyright. +* 08-14-90 SBM Compiles cleanly with -W3, removed now redundant +* #include <stddef.h> +* 10-02-90 GJF New-style function declarator. +* +*******************************************************************************/ + +#include <cruntime.h> +#include <string.h> + +/*** +*char *strrchr(string, ch) - find last occurrence of ch in string +* +*Purpose: +* Finds the last occurrence of ch in string. The terminating +* null character is used as part of the search. +* +*Entry: +* char *string - string to search in +* char ch - character to search for +* +*Exit: +* returns a pointer to the last occurrence of ch in the given +* string +* returns NULL if ch does not occurr in the string +* +*Exceptions: +* +*******************************************************************************/ + +char * _CALLTYPE1 strrchr ( + const char * string, + int ch + ) +{ + char *start = (char *)string; + + while (*string++) /* find end of string */ + ; + /* search towards front */ + while (--string != start && *string != (char)ch) + ; + + if (*string == (char)ch) /* char found ? */ + return( (char *)string ); + + return(NULL); +} |