Module: wine Branch: master Commit: 12d3741200a658cbe2076f4d0efeb56133f666a3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=12d3741200a658cbe2076f4d0e...
Author: Piotr Caban piotr@codeweavers.com Date: Thu Aug 1 11:46:34 2013 +0200
scrrun: Fix IFile::get_Attributes tests and implementation.
---
dlls/scrrun/filesystem.c | 4 +++- dlls/scrrun/tests/filesystem.c | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/dlls/scrrun/filesystem.c b/dlls/scrrun/filesystem.c index 19e3e23..19f5f2b 100644 --- a/dlls/scrrun/filesystem.c +++ b/dlls/scrrun/filesystem.c @@ -791,7 +791,9 @@ static HRESULT WINAPI file_get_Attributes(IFile *iface, FileAttribute *pfa) if(fa == INVALID_FILE_ATTRIBUTES) return create_error(GetLastError());
- *pfa = fa & ~FILE_ATTRIBUTE_NORMAL; + *pfa = fa & (FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | + FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_ARCHIVE | + FILE_ATTRIBUTE_REPARSE_POINT | FILE_ATTRIBUTE_COMPRESSED); return S_OK; }
diff --git a/dlls/scrrun/tests/filesystem.c b/dlls/scrrun/tests/filesystem.c index 0ddbbac..a3ad79f 100644 --- a/dlls/scrrun/tests/filesystem.c +++ b/dlls/scrrun/tests/filesystem.c @@ -478,9 +478,7 @@ static void test_GetFile(void) hr = IFileSystem3_GetFile(fs3, NULL, &file); ok(hr == E_INVALIDARG, "GetFile returned %x, expected E_INVALIDARG\n", hr);
- hf = CreateFileW(path, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); - if(hf != INVALID_HANDLE_VALUE) { - CloseHandle(hf); + if(GetFileAttributesW(path) != INVALID_FILE_ATTRIBUTES) { skip("File already exists, skipping GetFile tests\n"); SysFreeString(path); return; @@ -503,7 +501,9 @@ static void test_GetFile(void) ok(hr == S_OK, "GetFile returned %x, expected S_OK\n", hr);
hr = IFile_get_Attributes(file, &fa); - gfa = GetFileAttributesW(get_file) & ~FILE_ATTRIBUTE_NORMAL; + gfa = GetFileAttributesW(get_file) & (FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | + FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_ARCHIVE | + FILE_ATTRIBUTE_REPARSE_POINT | FILE_ATTRIBUTE_COMPRESSED); ok(hr == S_OK, "get_Attributes returned %x, expected S_OK\n", hr); ok(fa == gfa, "fa = %x, expected %x\n", fa, gfa);