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