Alexandre Julliard : kernel32: Fix build on older Mac OS X.

Alexandre Julliard julliard at winehq.org
Wed Feb 19 14:48:16 CST 2014


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Feb 19 11:35:16 2014 +0100

kernel32: Fix build on older Mac OS X.

---

 dlls/kernel32/heap.c |   49 +++++++++++++++++++++----------------------------
 1 file changed, 21 insertions(+), 28 deletions(-)

diff --git a/dlls/kernel32/heap.c b/dlls/kernel32/heap.c
index 1c38ae5..8b38119 100644
--- a/dlls/kernel32/heap.c
+++ b/dlls/kernel32/heap.c
@@ -1164,14 +1164,6 @@ BOOL WINAPI GlobalMemoryStatusEx( LPMEMORYSTATUSEX lpmemex )
 #ifdef VM_SWAPUSAGE
     struct xsw_usage swap;
 #endif
-#ifdef HAVE_MACH_MACH_H
-    host_name_port_t host;
-    mach_msg_type_number_t count;
-    kern_return_t kr;
-    host_basic_info_data_t info;
-    vm_statistics64_data_t vm_stat;
-    vm_size_t page_size;
-#endif
 #elif defined(sun)
     unsigned long pagesize,maxpages,freepages,swapspace,swapfree;
     struct anoninfo swapinf;
@@ -1238,6 +1230,7 @@ BOOL WINAPI GlobalMemoryStatusEx( LPMEMORYSTATUSEX lpmemex )
     }
 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__)
     total = 0;
+    lpmemex->ullAvailPhys = 0;
 
     mib[0] = CTL_HW;
 #ifdef HW_MEMSIZE
@@ -1248,22 +1241,29 @@ BOOL WINAPI GlobalMemoryStatusEx( LPMEMORYSTATUSEX lpmemex )
 #endif
 
 #ifdef HAVE_MACH_MACH_H
-    host = mach_host_self();
-
-    if (!total)
     {
-        count = HOST_BASIC_INFO_COUNT;
-        kr = host_info(host, HOST_BASIC_INFO, (host_info_t)&info, &count);
-        if (kr == KERN_SUCCESS)
-            total = info.max_mem;
-    }
+        host_name_port_t host = mach_host_self();
+        mach_msg_type_number_t count;
 
-    count = HOST_VM_INFO64_COUNT;
-    kr = host_statistics64(host, HOST_VM_INFO64, (host_info64_t)&vm_stat, &count);
-    if (kr == KERN_SUCCESS)
-        kr = host_page_size(host, &page_size);
+#ifdef HOST_VM_INFO64_COUNT
+        vm_size_t page_size;
+        vm_statistics64_data_t vm_stat;
+
+        count = HOST_VM_INFO64_COUNT;
+        if (host_statistics64(host, HOST_VM_INFO64, (host_info64_t)&vm_stat, &count) == KERN_SUCCESS &&
+            host_page_size(host, &page_size == KERN_SUCCESS))
+            lpmemex->ullAvailPhys = (vm_stat.free_count + vm_stat.inactive_count) * (DWORDLONG)page_size;
+#endif
+        if (!total)
+        {
+            host_basic_info_data_t info;
+            count = HOST_BASIC_INFO_COUNT;
+            if (host_info(host, HOST_BASIC_INFO, (host_info_t)&info, &count) == KERN_SUCCESS)
+                total = info.max_mem;
+        }
 
-    mach_port_deallocate(mach_task_self(), host);
+        mach_port_deallocate(mach_task_self(), host);
+    }
 #endif
 
     if (!total)
@@ -1277,13 +1277,6 @@ BOOL WINAPI GlobalMemoryStatusEx( LPMEMORYSTATUSEX lpmemex )
     if (total)
         lpmemex->ullTotalPhys = total;
 
-    lpmemex->ullAvailPhys = 0;
-
-#ifdef HAVE_MACH_MACH_H
-    if (kr == KERN_SUCCESS)
-        lpmemex->ullAvailPhys = (vm_stat.free_count + vm_stat.inactive_count) * (DWORDLONG)page_size;
-#endif
-
     if (!lpmemex->ullAvailPhys)
     {
         mib[1] = HW_USERMEM;




More information about the wine-cvs mailing list