lib: add glibc style strchrnul() variant
The strchrnul() variant helpfully returns a the end of the string instead of a NULL if the requested character is not found. This can simplify string parsing code since it doesn't need to expicitly check for a NULL return. If a valid string pointer is passed in, then a valid null terminated string will always come back out. Signed-off-by: Grant Likely <grant.likely@linaro.org>
This commit is contained in:
		
							parent
							
								
									b44aa25d20
								
							
						
					
					
						commit
						11d200e95f
					
				| @ -52,6 +52,9 @@ extern int strncasecmp(const char *s1, const char *s2, size_t n); | ||||
| #ifndef __HAVE_ARCH_STRCHR | ||||
| extern char * strchr(const char *,int); | ||||
| #endif | ||||
| #ifndef __HAVE_ARCH_STRCHRNUL | ||||
| extern char * strchrnul(const char *,int); | ||||
| #endif | ||||
| #ifndef __HAVE_ARCH_STRNCHR | ||||
| extern char * strnchr(const char *, size_t, int); | ||||
| #endif | ||||
|  | ||||
							
								
								
									
										18
									
								
								lib/string.c
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								lib/string.c
									
									
									
									
									
								
							| @ -301,6 +301,24 @@ char *strchr(const char *s, int c) | ||||
| EXPORT_SYMBOL(strchr); | ||||
| #endif | ||||
| 
 | ||||
| #ifndef __HAVE_ARCH_STRCHRNUL | ||||
| /**
 | ||||
|  * strchrnul - Find and return a character in a string, or end of string | ||||
|  * @s: The string to be searched | ||||
|  * @c: The character to search for | ||||
|  * | ||||
|  * Returns pointer to first occurrence of 'c' in s. If c is not found, then | ||||
|  * return a pointer to the null byte at the end of s. | ||||
|  */ | ||||
| char *strchrnul(const char *s, int c) | ||||
| { | ||||
| 	while (*s && *s != (char)c) | ||||
| 		s++; | ||||
| 	return (char *)s; | ||||
| } | ||||
| EXPORT_SYMBOL(strchrnul); | ||||
| #endif | ||||
| 
 | ||||
| #ifndef __HAVE_ARCH_STRRCHR | ||||
| /**
 | ||||
|  * strrchr - Find the last occurrence of a character in a string | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user