diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp index 7403108078..d8812837ea 100644 --- a/src/common/file_util.cpp +++ b/src/common/file_util.cpp @@ -525,7 +525,7 @@ void CopyDir(const std::string& source_path, const std::string& dest_path) { #endif } -std::string GetCurrentDir() { +std::optional GetCurrentDir() { // Get the current working directory (getcwd uses malloc) #ifdef _WIN32 wchar_t* dir; @@ -535,7 +535,7 @@ std::string GetCurrentDir() { if (!(dir = getcwd(nullptr, 0))) { #endif LOG_ERROR(Common_Filesystem, "GetCurrentDirectory failed: {}", GetLastErrorMsg()); - return nullptr; + return {}; } #ifdef _WIN32 std::string strDir = Common::UTF16ToUTF8(dir); diff --git a/src/common/file_util.h b/src/common/file_util.h index c325f5b498..cde7ddf2d1 100644 --- a/src/common/file_util.h +++ b/src/common/file_util.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -118,7 +119,7 @@ u64 ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry, bool DeleteDirRecursively(const std::string& directory, unsigned int recursion = 256); // Returns the current directory -std::string GetCurrentDir(); +std::optional GetCurrentDir(); // Create directory and copy contents (does not overwrite existing files) void CopyDir(const std::string& source_path, const std::string& dest_path);