util: pass string_view to without_bropath_component()

This commit is contained in:
Max Kellermann 2020-02-04 12:49:41 +01:00
parent 0548e1255f
commit 98241bbc60
2 changed files with 7 additions and 6 deletions

View file

@ -1669,7 +1669,7 @@ string normalize_path(std::string_view path)
return new_path;
}
string without_bropath_component(const string& path)
string without_bropath_component(std::string_view path)
{
string rval = normalize_path(path);
@ -1683,13 +1683,14 @@ string without_bropath_component(const string& path)
continue;
// Found the containing directory.
rval.erase(0, common.size());
std::string_view v(rval);
v.remove_prefix(common.size());
// Remove leading path separators.
while ( rval.size() && rval[0] == '/' )
rval.erase(0, 1);
while ( !v.empty() && v.front() == '/' )
v.remove_prefix(1);
return rval;
return std::string(v);
}
return rval;

View file

@ -353,7 +353,7 @@ std::string normalize_path(std::string_view path);
* @param path A file/directory path that may be within a ZEEKPATH component.
* @return *path* minus the common ZEEKPATH component (if any) removed.
*/
std::string without_bropath_component(const std::string& path);
std::string without_bropath_component(std::string_view path);
/**
* Locate a file within a given search path.