diff options
author | Max Kellermann <max@duempel.org> | 2015-11-06 09:30:54 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2015-11-06 10:03:14 +0100 |
commit | 4d15db01346a4c1e7b2c25b9c36f40a27783851e (patch) | |
tree | e54574f388ac4dc9bd909beeccd217ab54237d70 /src/util/StringCompare.hxx | |
parent | 0d1a54262cfa7a1a6df34331e7cc28486fe46b35 (diff) | |
download | mpd-4d15db01346a4c1e7b2c25b9c36f40a27783851e.tar.gz mpd-4d15db01346a4c1e7b2c25b9c36f40a27783851e.tar.xz mpd-4d15db01346a4c1e7b2c25b9c36f40a27783851e.zip |
util/StringCompare: use StringView to simplify inline implementations
Diffstat (limited to '')
-rw-r--r-- | src/util/StringCompare.hxx | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/util/StringCompare.hxx b/src/util/StringCompare.hxx index a29892bc9..6d7b3474e 100644 --- a/src/util/StringCompare.hxx +++ b/src/util/StringCompare.hxx @@ -30,6 +30,7 @@ #ifndef STRING_COMPARE_HXX #define STRING_COMPARE_HXX +#include "StringView.hxx" #include "Compiler.h" #ifdef _UNICODE @@ -42,9 +43,12 @@ StringIsEmpty(const char *string) return *string == 0; } -gcc_pure -bool -StringStartsWith(const char *haystack, const char *needle); +gcc_pure gcc_nonnull_all +static inline bool +StringStartsWith(const char *haystack, StringView needle) +{ + return strncmp(haystack, needle.data, needle.size) == 0; +} gcc_pure bool @@ -56,8 +60,13 @@ StringEndsWith(const char *haystack, const char *needle); * nullptr. */ gcc_pure gcc_nonnull_all -const char * -StringAfterPrefix(const char *string, const char *prefix); +static inline const char * +StringAfterPrefix(const char *haystack, StringView needle) +{ + return StringStartsWith(haystack, needle) + ? haystack + needle.size + : nullptr; +} /** * Check if the given string ends with the specified suffix. If yes, |