From 6a7f70469f26bfda879667f63cb9ad63339093a0 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Mon, 27 May 2024 00:47:24 -0500 Subject: [PATCH] [studio/modlib] Make Project::mkdir only mkdir if dir does not exist --- .../src/olympic/studio/modlib/src/project.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/deps/nostalgia/src/olympic/studio/modlib/src/project.cpp b/deps/nostalgia/src/olympic/studio/modlib/src/project.cpp index edbb732..9b9843a 100644 --- a/deps/nostalgia/src/olympic/studio/modlib/src/project.cpp +++ b/deps/nostalgia/src/olympic/studio/modlib/src/project.cpp @@ -56,9 +56,13 @@ ox::FileSystem &Project::romFs() noexcept { } ox::Error Project::mkdir(ox::CRStringView path) const noexcept { - oxReturnError(m_fs.mkdir(path, true)); - fileUpdated.emit(path, {}); - return {}; + auto const [stat, err] = m_fs.stat(path); + if (err) { + oxReturnError(m_fs.mkdir(path, true)); + fileUpdated.emit(path, {}); + } + return stat.fileType == ox::FileType::Directory ? + ox::Error{} : OxError(1, "path exists as normal file"); } ox::Result Project::stat(ox::CRStringView path) const noexcept {