diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2019-12-11 14:53:30 +0100 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2019-12-11 14:53:30 +0100 |
commit | ecb3a1afa2395c46c4ba2ec9da550f45414dbe6d (patch) | |
tree | 6d1038ee909bd1ba69948a0bc326cd5ba6824e01 /src/libutil/util.cc | |
parent | ab88f4bbd4117db458a79f0a02a4de7bf7931f4c (diff) | |
parent | f800d450b78091835ab7ca67847d76e75d877a24 (diff) |
Merge remote-tracking branch 'origin/master' into flakes
Diffstat (limited to 'src/libutil/util.cc')
-rw-r--r-- | src/libutil/util.cc | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libutil/util.cc b/src/libutil/util.cc index 1e5e4851e..085c1e695 100644 --- a/src/libutil/util.cc +++ b/src/libutil/util.cc @@ -189,22 +189,22 @@ Path dirOf(const Path & path) } -string baseNameOf(const Path & path) +std::string_view baseNameOf(std::string_view path) { if (path.empty()) return ""; - Path::size_type last = path.length() - 1; + auto last = path.size() - 1; if (path[last] == '/' && last > 0) last -= 1; - Path::size_type pos = path.rfind('/', last); + auto pos = path.rfind('/', last); if (pos == string::npos) pos = 0; else pos += 1; - return string(path, pos, last - pos + 1); + return path.substr(pos, last - pos + 1); } @@ -1307,9 +1307,10 @@ bool hasPrefix(const string & s, const string & prefix) } -bool hasSuffix(const string & s, const string & suffix) +bool hasSuffix(std::string_view s, std::string_view suffix) { - return s.size() >= suffix.size() && string(s, s.size() - suffix.size()) == suffix; + return s.size() >= suffix.size() + && s.substr(s.size() - suffix.size()) == suffix; } |