include/string: Add strrchr

Copy strrchr from libpayload.
To be used by Cavium's BDK or FDT parsers.

Change-Id: Iab7981c25113ed16f1b8130de4935d30c29d2fa5
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/25447
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
This commit is contained in:
Patrick Rudolph 2018-03-29 10:05:34 +02:00 committed by Patrick Rudolph
parent 4783db2cf1
commit 03c7b05a5a
1 changed files with 20 additions and 0 deletions

View File

@ -66,6 +66,26 @@ static inline char *strconcat(const char *s1, const char *s2)
} }
#endif #endif
/**
* Find a character in a string.
*
* @param s The string.
* @param c The character.
* @return A pointer to the last occurrence of the character in the
* string, or NULL if the character was not encountered within the string.
*/
static inline char *strrchr(const char *s, int c)
{
char *p = (char *)s + strlen(s);
for (; p >= s; p--) {
if (*p == c)
return p;
}
return NULL;
}
static inline char *strncpy(char *to, const char *from, int count) static inline char *strncpy(char *to, const char *from, int count)
{ {
register char *ret = to; register char *ret = to;