diff options
author | Max Kellermann <max@duempel.org> | 2014-02-17 23:29:08 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-02-18 09:18:42 +0100 |
commit | 2b21312b367bbde7473e95093fbebbf79e693df1 (patch) | |
tree | 2878849657a8a525b8a72e7bc3f3bd57415cb82d /src/util | |
parent | 3a818b6d45bc6b01c0092afc3f420ced668e9967 (diff) | |
download | mpd-2b21312b367bbde7473e95093fbebbf79e693df1.tar.gz mpd-2b21312b367bbde7473e95093fbebbf79e693df1.tar.xz mpd-2b21312b367bbde7473e95093fbebbf79e693df1.zip |
util/StringUtil: add StringEndsWith()
Replaces g_str_has_suffix().
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/StringUtil.cxx | 11 | ||||
-rw-r--r-- | src/util/StringUtil.hxx | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/util/StringUtil.cxx b/src/util/StringUtil.cxx index dfe436fd8..9a1a74f86 100644 --- a/src/util/StringUtil.cxx +++ b/src/util/StringUtil.cxx @@ -55,6 +55,17 @@ StringStartsWith(const char *haystack, const char *needle) } bool +StringEndsWith(const char *haystack, const char *needle) +{ + const size_t haystack_length = strlen(haystack); + const size_t needle_length = strlen(needle); + + return haystack_length >= needle_length && + memcmp(haystack + haystack_length - needle_length, + needle, needle_length) == 0; +} + +bool string_array_contains(const char *const* haystack, const char *needle) { assert(haystack != nullptr); diff --git a/src/util/StringUtil.hxx b/src/util/StringUtil.hxx index a48e2abc9..779d5d776 100644 --- a/src/util/StringUtil.hxx +++ b/src/util/StringUtil.hxx @@ -51,6 +51,10 @@ gcc_pure bool StringStartsWith(const char *haystack, const char *needle); +gcc_pure +bool +StringEndsWith(const char *haystack, const char *needle); + /** * Checks whether a string array contains the specified string. * |