Paul Vriens : adapi32/tests: Fix test failures when the computername is fully qualified on W2K3 and earlier .

Alexandre Julliard julliard at winehq.org
Tue Dec 8 11:10:37 CST 2009


Module: wine
Branch: master
Commit: 72c54e5d3b5bb8c1a66eee9291597fd49750993f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=72c54e5d3b5bb8c1a66eee9291597fd49750993f

Author: Paul Vriens <Paul.Vriens.Wine at gmail.com>
Date:   Tue Dec  8 09:28:49 2009 +0100

adapi32/tests: Fix test failures when the computername is fully qualified on W2K3 and earlier.

---

 dlls/advapi32/tests/eventlog.c |   36 +++++++++++++++++-------------------
 1 files changed, 17 insertions(+), 19 deletions(-)

diff --git a/dlls/advapi32/tests/eventlog.c b/dlls/advapi32/tests/eventlog.c
index a781c06..c0f516a 100644
--- a/dlls/advapi32/tests/eventlog.c
+++ b/dlls/advapi32/tests/eventlog.c
@@ -712,7 +712,7 @@ static void test_readwrite(void)
     BOOL ret, sidavailable;
     BOOL on_vista = FALSE; /* Used to indicate Vista, W2K8 or Win7 */
     int i;
-    char *localcomputer;
+    char *localcomputer = NULL;
     DWORD size;
 
     if (pCreateWellKnownSid)
@@ -730,24 +730,6 @@ static void test_readwrite(void)
         user = NULL;
     }
 
-    if (pGetComputerNameExA)
-    {
-        size = 0;
-        SetLastError(0xdeadbeef);
-        pGetComputerNameExA(ComputerNameDnsFullyQualified, NULL, &size);
-        /* Cope with W2K (needed size is not set) */
-        if (size == 0 && GetLastError() == ERROR_MORE_DATA)
-            size = 1024;
-        localcomputer = HeapAlloc(GetProcessHeap(), 0, size);
-        pGetComputerNameExA(ComputerNameDnsFullyQualified, localcomputer, &size);
-    }
-    else
-    {
-        size = MAX_COMPUTERNAME_LENGTH + 1;
-        localcomputer = HeapAlloc(GetProcessHeap(), 0, size);
-        GetComputerNameA(localcomputer, &size);
-    }
-
     /* Write an event with an incorrect event type. This will fail on Windows 7
      * but succeed on all others, hence it's not part of the struct.
      */
@@ -878,6 +860,22 @@ static void test_readwrite(void)
     if (on_vista)
         skip("There is no DWORD alignment enforced for UserSid on Vista, W2K8 or Win7\n");
 
+    if (on_vista && pGetComputerNameExA)
+    {
+        /* New Vista+ behavior */
+        size = 0;
+        SetLastError(0xdeadbeef);
+        pGetComputerNameExA(ComputerNameDnsFullyQualified, NULL, &size);
+        localcomputer = HeapAlloc(GetProcessHeap(), 0, size);
+        pGetComputerNameExA(ComputerNameDnsFullyQualified, localcomputer, &size);
+    }
+    else
+    {
+        size = MAX_COMPUTERNAME_LENGTH + 1;
+        localcomputer = HeapAlloc(GetProcessHeap(), 0, size);
+        GetComputerNameA(localcomputer, &size);
+    }
+
     /* Read all events from our created eventlog, one by one */
     handle = OpenEventLogA(NULL, eventlogname);
     i = 0;




More information about the wine-cvs mailing list