diff --git a/Utilities/File.cpp b/Utilities/File.cpp index 7c8b94907d..df92e624af 100644 --- a/Utilities/File.cpp +++ b/Utilities/File.cpp @@ -94,6 +94,7 @@ static fs::error to_error(DWORD e) case ERROR_DIRECTORY: return fs::error::inval; case ERROR_INVALID_NAME: return fs::error::inval; case ERROR_SHARING_VIOLATION: return fs::error::acces; + case ERROR_DIR_NOT_EMPTY: return fs::error::notempty; default: fmt::throw_exception("Unknown Win32 error: %u.", e); } } @@ -128,6 +129,7 @@ static fs::error to_error(int e) case EEXIST: return fs::error::exist; case EINVAL: return fs::error::inval; case EACCES: return fs::error::acces; + case ENOTEMPTY: return fs::error::notempty; default: fmt::throw_exception("Unknown system error: %d.", e); } } @@ -1449,6 +1451,7 @@ void fmt_class_string::format(std::string& out, u64 arg) case fs::error::noent: return "Not found"; case fs::error::exist: return "Already exists"; case fs::error::acces: return "Access violation"; + case fs::error::notempty: return "Not empty"; } return unknown; diff --git a/Utilities/File.h b/Utilities/File.h index c7c6148de9..43dfb3d83d 100644 --- a/Utilities/File.h +++ b/Utilities/File.h @@ -502,6 +502,7 @@ namespace fs noent, exist, acces, + notempty, }; // Error code returned diff --git a/rpcs3/Emu/Cell/lv2/sys_fs.cpp b/rpcs3/Emu/Cell/lv2/sys_fs.cpp index 43d6a9c3d5..39d7be9777 100644 --- a/rpcs3/Emu/Cell/lv2/sys_fs.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_fs.cpp @@ -622,6 +622,7 @@ error_code sys_fs_rmdir(vm::cptr path) switch (auto error = fs::g_tls_error) { case fs::error::noent: return {CELL_ENOENT, path}; + case fs::error::notempty: return {CELL_ENOTEMPTY, path}; default: sys_fs.error("sys_fs_rmdir(): unknown error %s", error); }