aboutsummaryrefslogtreecommitdiff
path: root/src/core/file_sys/vfs.cpp
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-08-16 17:05:30 -0400
committerZach Hilman <zachhilman@gmail.com>2018-08-23 11:52:44 -0400
commitbf33f80fae1e97f48a62e16b1e965d7994ac4c45 (patch)
treec5bf8e27201430b922fb793e6293f78346a97bdf /src/core/file_sys/vfs.cpp
parentef3768f323fc06eb41c603fe797a26412424acd4 (diff)
vfs: Add GetOrCreateDirectoryRelative method
Diffstat (limited to 'src/core/file_sys/vfs.cpp')
-rw-r--r--src/core/file_sys/vfs.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/file_sys/vfs.cpp b/src/core/file_sys/vfs.cpp
index b915b4c11..146c839f4 100644
--- a/src/core/file_sys/vfs.cpp
+++ b/src/core/file_sys/vfs.cpp
@@ -462,4 +462,11 @@ bool VfsRawCopy(VirtualFile src, VirtualFile dest) {
std::vector<u8> data = src->ReadAllBytes();
return dest->WriteBytes(data, 0) == data.size();
}
+
+VirtualDir GetOrCreateDirectoryRelative(const VirtualDir& rel, std::string_view path) {
+ const auto res = rel->GetDirectoryRelative(path);
+ if (res == nullptr)
+ return rel->CreateDirectoryRelative(path);
+ return res;
+}
} // namespace FileSys