|
|
|
@ -268,7 +268,7 @@ void RealVfsFilesystem::RemoveReferenceFromListLocked(FileReference& reference)
|
|
|
|
|
RealVfsFile::RealVfsFile(RealVfsFilesystem& base_, std::unique_ptr<FileReference> reference_,
|
|
|
|
|
const std::string& path_, Mode perms_, std::optional<u64> size_)
|
|
|
|
|
: base(base_), reference(std::move(reference_)), path(path_),
|
|
|
|
|
parent_path(FS::GetParentPath(path_)), path_components(FS::SplitPathComponents(path_)),
|
|
|
|
|
parent_path(FS::GetParentPath(path_)), path_components(FS::SplitPathComponentsCopy(path_)),
|
|
|
|
|
size(size_), perms(perms_) {}
|
|
|
|
|
|
|
|
|
|
RealVfsFile::~RealVfsFile() {
|
|
|
|
@ -276,7 +276,7 @@ RealVfsFile::~RealVfsFile() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::string RealVfsFile::GetName() const {
|
|
|
|
|
return path_components.back();
|
|
|
|
|
return path_components.empty() ? "" : std::string(path_components.back());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::size_t RealVfsFile::GetSize() const {
|
|
|
|
@ -375,7 +375,7 @@ std::vector<VirtualDir> RealVfsDirectory::IterateEntries<RealVfsDirectory, VfsDi
|
|
|
|
|
|
|
|
|
|
RealVfsDirectory::RealVfsDirectory(RealVfsFilesystem& base_, const std::string& path_, Mode perms_)
|
|
|
|
|
: base(base_), path(FS::RemoveTrailingSlash(path_)), parent_path(FS::GetParentPath(path)),
|
|
|
|
|
path_components(FS::SplitPathComponents(path)), perms(perms_) {
|
|
|
|
|
path_components(FS::SplitPathComponentsCopy(path)), perms(perms_) {
|
|
|
|
|
if (!FS::Exists(path) && True(perms & Mode::Write)) {
|
|
|
|
|
void(FS::CreateDirs(path));
|
|
|
|
|
}
|
|
|
|
@ -464,7 +464,7 @@ bool RealVfsDirectory::IsReadable() const {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::string RealVfsDirectory::GetName() const {
|
|
|
|
|
return path_components.back();
|
|
|
|
|
return path_components.empty() ? "" : std::string(path_components.back());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
VirtualDir RealVfsDirectory::GetParentDirectory() const {
|
|
|
|
|