1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 08:47:34 +00:00

AK: Give String::index_of() an optional second "start" argument

This commit is contained in:
Nico Weber 2020-07-12 13:36:48 -04:00 committed by Andreas Kling
parent 332f349e07
commit 97cea9e61c
2 changed files with 3 additions and 3 deletions

View file

@ -311,13 +311,13 @@ bool String::contains(const String& needle) const
return strstr(characters(), needle.characters()); return strstr(characters(), needle.characters());
} }
Optional<size_t> String::index_of(const String& needle) const Optional<size_t> String::index_of(const String& needle, size_t start) const
{ {
if (is_null() || needle.is_null()) if (is_null() || needle.is_null())
return {}; return {};
const char* self_characters = characters(); const char* self_characters = characters();
const char* result = strstr(self_characters, needle.characters()); const char* result = strstr(self_characters + start, needle.characters());
if (!result) if (!result)
return {}; return {};
return Optional<size_t> { result - self_characters }; return Optional<size_t> { result - self_characters };

View file

@ -124,7 +124,7 @@ public:
bool equals_ignoring_case(const StringView&) const; bool equals_ignoring_case(const StringView&) const;
bool contains(const String&) const; bool contains(const String&) const;
Optional<size_t> index_of(const String&) const; Optional<size_t> index_of(const String&, size_t start = 0) const;
Vector<String> split_limit(char separator, size_t limit, bool keep_empty = false) const; Vector<String> split_limit(char separator, size_t limit, bool keep_empty = false) const;
Vector<String> split(char separator, bool keep_empty = false) const; Vector<String> split(char separator, bool keep_empty = false) const;