Piotr Caban : scrrun: Fix IFile::get_Attributes tests and implementation.
Alexandre Julliard
julliard at winehq.org
Thu Aug 1 14:25:46 CDT 2013
Module: wine
Branch: master
Commit: 12d3741200a658cbe2076f4d0efeb56133f666a3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=12d3741200a658cbe2076f4d0efeb56133f666a3
Author: Piotr Caban <piotr at 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);
More information about the wine-cvs
mailing list