summaryrefslogtreecommitdiff
path: root/lib/string.c
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2023-01-27 17:51:35 +0200
committerKees Cook <keescook@chromium.org>2023-01-27 11:42:57 -0800
commita8c55407a7230798eb157ed2cf5398a6a2b123b6 (patch)
tree169e4f50d1fe28c1d9c40aeacfc7f93c6abc0ea2 /lib/string.c
parentaa85923a954e7704bc9d3847dabeb8540aa98d13 (diff)
lib/string: Use strchr() in strpbrk()
Use strchr() instead of open coding it as it's done elsewhere in the same file. Either we will have similar to what it was or possibly better performance in case architecture implements its own strchr(). Memory wise on x86_64 bloat-o-meter shows the following Function old new delta strsep 111 102 -9 Total: Before=2763, After=2754, chg -0.33% Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20230127155135.27153-1-andriy.shevchenko@linux.intel.com
Diffstat (limited to 'lib/string.c')
-rw-r--r--lib/string.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/string.c b/lib/string.c
index 4fb566ea610f..3d55ef890106 100644
--- a/lib/string.c
+++ b/lib/string.c
@@ -480,13 +480,11 @@ EXPORT_SYMBOL(strcspn);
*/
char *strpbrk(const char *cs, const char *ct)
{
- const char *sc1, *sc2;
+ const char *sc;
- for (sc1 = cs; *sc1 != '\0'; ++sc1) {
- for (sc2 = ct; *sc2 != '\0'; ++sc2) {
- if (*sc1 == *sc2)
- return (char *)sc1;
- }
+ for (sc = cs; *sc != '\0'; ++sc) {
+ if (strchr(ct, *sc))
+ return (char *)sc;
}
return NULL;
}