Messages in this thread Patch in this message | | | From | Marek Behún <> | Subject | [PATCH linux-phy 1/4] string.h: Add str_has_proper_prefix() | Date | Wed, 17 Aug 2022 21:31:16 +0200 |
| |
Add str_has_proper_prefix(), similar to str_has_prefix(), but requires that the prefix is proper: the string itself must be longer than the prefix.
Signed-off-by: Marek Behún <kabel@kernel.org> --- Andy, Kees, could you ack this if it is ok? --- include/linux/string.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/include/linux/string.h b/include/linux/string.h index 61ec7e4f6311..375f51b9182c 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -316,4 +316,22 @@ static __always_inline size_t str_has_prefix(const char *str, const char *prefix return strncmp(str, prefix, len) == 0 ? len : 0; } +/** + * str_has_proper_prefix - Test if a string has a proper prefix + * @str: The string to test + * @prefix: The string to see if @str starts with + * + * This is like str_has_prefix(), but fails if the strings are equal. + * + * Returns: + * * strlen(@prefix) if @str starts with @prefix and they aren't equal + * * 0 otherwise + */ +static __always_inline size_t str_has_proper_prefix(const char *str, + const char *prefix) +{ + size_t len = strlen(prefix); + return strncmp(str, prefix, len) == 0 && len != strlen(str) ? len : 0; +} + #endif /* _LINUX_STRING_H_ */ -- 2.35.1
| |