Commit a0d6c8c2 authored by Alexandre Julliard's avatar Alexandre Julliard

kernel32: Fix build on older Mac OS X.

parent 5395d23a
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment