commit
1e1a123fba
|
@ -126,4 +126,28 @@ std::string fix_path_separators(const std::string& source, char new_sep) {
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string find_name_from_path(const std::string& path)
|
||||||
|
{
|
||||||
|
std::string name(path);
|
||||||
|
|
||||||
|
if (!path.empty()) {
|
||||||
|
std::string::size_type from(std::string::npos);
|
||||||
|
if (path.back() == '\\') {
|
||||||
|
from = path.size() - 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto pos(path.find_last_of('\\', from));
|
||||||
|
if (pos != std::string::npos) {
|
||||||
|
if (from == std::string::npos) {
|
||||||
|
name = path.substr(pos + 1);
|
||||||
|
} else {
|
||||||
|
auto len(from - pos);
|
||||||
|
name = path.substr(pos + 1, len);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace poly
|
} // namespace poly
|
||||||
|
|
|
@ -48,6 +48,9 @@ std::wstring fix_path_separators(const std::wstring& source,
|
||||||
std::string fix_path_separators(const std::string& source,
|
std::string fix_path_separators(const std::string& source,
|
||||||
char new_sep = poly::path_separator);
|
char new_sep = poly::path_separator);
|
||||||
|
|
||||||
|
// Find the top directory name or filename from a path
|
||||||
|
std::string find_name_from_path(const std::string& path);
|
||||||
|
|
||||||
} // namespace poly
|
} // namespace poly
|
||||||
|
|
||||||
#endif // POLY_STRING_H_
|
#endif // POLY_STRING_H_
|
||||||
|
|
|
@ -23,8 +23,7 @@ Entry::Entry(Device* device, const std::string& path)
|
||||||
: device_(device), path_(path) {
|
: device_(device), path_(path) {
|
||||||
assert_not_null(device);
|
assert_not_null(device);
|
||||||
absolute_path_ = device->path() + path;
|
absolute_path_ = device->path() + path;
|
||||||
// TODO(benvanik): last index of \, unless \ at end, then before that
|
name_ = poly::find_name_from_path(path);
|
||||||
name_ = "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Entry::~Entry() = default;
|
Entry::~Entry() = default;
|
||||||
|
|
Loading…
Reference in New Issue