From 5177cfb0e305f6b064485cf4b74ca397b7a966b7 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/src/olympic/studio/modlib/src/project.cpp b/src/olympic/studio/modlib/src/project.cpp index edbb7323..9b9843a8 100644 --- a/src/olympic/studio/modlib/src/project.cpp +++ b/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 {