aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/util.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2019-12-11 14:53:30 +0100
committerEelco Dolstra <edolstra@gmail.com>2019-12-11 14:53:30 +0100
commitecb3a1afa2395c46c4ba2ec9da550f45414dbe6d (patch)
tree6d1038ee909bd1ba69948a0bc326cd5ba6824e01 /src/libutil/util.cc
parentab88f4bbd4117db458a79f0a02a4de7bf7931f4c (diff)
parentf800d450b78091835ab7ca67847d76e75d877a24 (diff)
Merge remote-tracking branch 'origin/master' into flakes
Diffstat (limited to 'src/libutil/util.cc')
-rw-r--r--src/libutil/util.cc13
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;
}