From d45cd9a35bd1e456d69132335d1f7628578b7f8b Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Mon, 21 Aug 2017 09:47:15 +0200 Subject: [PATCH] Utils: Use C string functions They are better optimized. Change-Id: I6db1c94d283ee9f3f1555ce02b9b42d38003e2d0 Reviewed-by: Tim Jenssen --- src/libs/utils/smallstring.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/libs/utils/smallstring.h b/src/libs/utils/smallstring.h index 6c4fb74755d..0a0b77a0ab3 100644 --- a/src/libs/utils/smallstring.h +++ b/src/libs/utils/smallstring.h @@ -367,19 +367,17 @@ public: return BasicSmallString(utf8ByteArray.constData(), uint(utf8ByteArray.size())); } + // precondition: has to be null terminated bool contains(SmallStringView subStringToSearch) const { - auto found = std::search(begin(), - end(), - subStringToSearch.begin(), - subStringToSearch.end()); + const char *found = std::strstr(data(), subStringToSearch.data()); - return found != end(); + return found != nullptr; } bool contains(char characterToSearch) const { - auto found = std::strchr(data(), characterToSearch); + auto found = std::memchr(data(), characterToSearch, size()); return found != nullptr; }