Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | Gioh Kim <> | Subject | [PATCH] lib/string: sysfs_streq works case insensitively | Date | Mon, 12 Apr 2021 13:33:15 +0200 |
| |
As the name shows, it checks the strings inputed from sysfs. It should work for both case-sensitive filesystem and case-insensitive filesystem. Therefore sysfs_streq should work case-insensitively.
Signed-off-by: Gioh Kim <gi-oh.kim@ionos.com> --- lib/string.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/string.c b/lib/string.c index 7548eb715ddb..d0914dffdaae 100644 --- a/lib/string.c +++ b/lib/string.c @@ -688,7 +688,8 @@ EXPORT_SYMBOL(strsep); #endif /** - * sysfs_streq - return true if strings are equal, modulo trailing newline + * sysfs_streq - return true if strings are equal case-insentively, + * modulo trailing newline * @s1: one string * @s2: another string * @@ -696,10 +697,11 @@ EXPORT_SYMBOL(strsep); * NUL and newline-then-NUL as equivalent string terminations. It's * geared for use with sysfs input strings, which generally terminate * with newlines but are compared against values without newlines. + * And case does not matter for the sysfs input strings comparison. */ bool sysfs_streq(const char *s1, const char *s2) { - while (*s1 && *s1 == *s2) { + while (*s1 && tolower(*s1) == tolower(*s2)) { s1++; s2++; } -- 2.25.1
| ![\](/images/icornerr.gif) |