Unlock RW access to opened files on windows (#7161)

* Unlock RW access to opened files on windows

* Add missing include
This commit is contained in:
PabloMK7 2023-11-17 12:14:00 +01:00 committed by GitHub
parent 90a5d989e7
commit 680e132318
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -24,6 +24,7 @@
// windows.h needs to be included before other windows headers // windows.h needs to be included before other windows headers
#include <direct.h> // getcwd #include <direct.h> // getcwd
#include <io.h> #include <io.h>
#include <share.h>
#include <shellapi.h> #include <shellapi.h>
#include <shlobj.h> // for SHGetFolderPath #include <shlobj.h> // for SHGetFolderPath
#include <tchar.h> #include <tchar.h>
@ -1058,14 +1059,13 @@ bool IOFile::Open() {
Close(); Close();
#ifdef _WIN32 #ifdef _WIN32
if (flags != 0) { if (flags == 0) {
flags = _SH_DENYNO;
}
m_file = _wfsopen(Common::UTF8ToUTF16W(filename).c_str(), m_file = _wfsopen(Common::UTF8ToUTF16W(filename).c_str(),
Common::UTF8ToUTF16W(openmode).c_str(), flags); Common::UTF8ToUTF16W(openmode).c_str(), flags);
m_good = m_file != nullptr; m_good = m_file != nullptr;
} else {
m_good = _wfopen_s(&m_file, Common::UTF8ToUTF16W(filename).c_str(),
Common::UTF8ToUTF16W(openmode).c_str()) == 0;
}
#elif ANDROID #elif ANDROID
// Check whether filepath is startsWith content // Check whether filepath is startsWith content
AndroidStorage::AndroidOpenMode android_open_mode = AndroidStorage::ParseOpenmode(openmode); AndroidStorage::AndroidOpenMode android_open_mode = AndroidStorage::ParseOpenmode(openmode);