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