[core] fix Win7 EFI boot file extraction when dual BIOS+UEFI is in use

* Closes #1292
* Also add "RISD" (Ricoh IDE SD Card reader) to list of card readers (#551)
* Also make running Fido script read-only
This commit is contained in:
Pete Batard 2019-03-27 12:21:41 +00:00
parent 1ecc771cbd
commit 661ba7b64c
No known key found for this signature in database
GPG key ID: 38E0CF5E69EDD671
5 changed files with 31 additions and 10 deletions

View file

@ -694,6 +694,23 @@ static __inline DWORD GetFileAttributesU(const char* lpFileName)
return ret;
}
static __inline BOOL SetFileAttributesU(const char* lpFileName, DWORD dwFileAttributes)
{
BOOL ret = FALSE, err = ERROR_INVALID_DATA;
wconvert(lpFileName);
// Unlike Microsoft's version, ours doesn't fail if the string is quoted
if ((wlpFileName[0] == L'"') && (wlpFileName[wcslen(wlpFileName) - 1] == L'"')) {
wlpFileName[wcslen(wlpFileName) - 1] = 0;
ret = SetFileAttributesW(&wlpFileName[1], dwFileAttributes);
} else {
ret = SetFileAttributesW(wlpFileName, dwFileAttributes);
}
err = GetLastError();
wfree(lpFileName);
SetLastError(err);
return ret;
}
static __inline int SHCreateDirectoryExU(HWND hwnd, const char* pszPath, SECURITY_ATTRIBUTES *psa)
{
int ret = ERROR_INVALID_DATA;