string: Add strchrnul()

This functions works like strchr() but returns the end of the string if
the character is not found. Add an implementation of this.

Signed-off-by: Simon Glass <sjg@chromium.org>
master
Simon Glass 7 years ago
parent a4b8e372d5
commit 6b45ba45fb
  1. 13
      include/linux/string.h
  2. 8
      lib/string.c

@ -50,6 +50,19 @@ extern int strncasecmp(const char *s1, const char *s2, __kernel_size_t len);
#ifndef __HAVE_ARCH_STRCHR
extern char * strchr(const char *,int);
#endif
/**
* strchrnul() - return position of a character in the string, or end of string
*
* The strchrnul() function is like strchr() except that if c is not found
* in s, then it returns a pointer to the nul byte at the end of s, rather than
* NULL
* @s: string to search
* @c: character to search for
* @return position of @c in @s, or end of @s if not found
*/
const char *strchrnul(const char *s, int c);
#ifndef __HAVE_ARCH_STRRCHR
extern char * strrchr(const char *,int);
#endif

@ -230,6 +230,14 @@ char * strchr(const char * s, int c)
}
#endif
const char *strchrnul(const char *s, int c)
{
for (; *s != (char)c; ++s)
if (*s == '\0')
break;
return s;
}
#ifndef __HAVE_ARCH_STRRCHR
/**
* strrchr - Find the last occurrence of a character in a string

Loading…
Cancel
Save