From 1a0cee53d414517aef51e31a17a7d089f85e10b8 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 19 Jul 2012 11:37:26 +0200 Subject: [PATCH] updated for version 7.3.605 Problem: MS-Windows: Can't compile with older compilers. (Titov Anatoly) Solution: Add #ifdef for MEMORYSTATUSEX. --- src/os_win32.c | 23 ++++++++++++++--------- src/version.c | 2 ++ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/os_win32.c b/src/os_win32.c index af1232eaba..6b29cfc331 100644 --- a/src/os_win32.c +++ b/src/os_win32.c @@ -4999,7 +4999,20 @@ mch_breakcheck(void) long_u mch_avail_mem(int special) { - if (g_PlatformId != VER_PLATFORM_WIN32_NT) +#ifdef MEMORYSTATUSEX + PlatformId(); + if (g_PlatformId == VER_PLATFORM_WIN32_NT) + { + MEMORYSTATUSEX ms; + + /* Need to use GlobalMemoryStatusEx() when there is more memory than + * what fits in 32 bits. But it's not always available. */ + ms.dwLength = sizeof(MEMORYSTATUSEX); + GlobalMemoryStatusEx(&ms); + return (long_u)((ms.ullAvailPhys + ms.ullAvailPageFile) >> 10); + } + else +#endif { MEMORYSTATUS ms; @@ -5007,14 +5020,6 @@ mch_avail_mem(int special) GlobalMemoryStatus(&ms); return (long_u)((ms.dwAvailPhys + ms.dwAvailPageFile) >> 10); } - else - { - MEMORYSTATUSEX ms; - - ms.dwLength = sizeof(MEMORYSTATUSEX); - GlobalMemoryStatusEx(&ms); - return (long_u)((ms.ullAvailPhys + ms.ullAvailPageFile) >> 10); - } } #ifdef FEAT_MBYTE diff --git a/src/version.c b/src/version.c index 80d8c75473..064af8b2cc 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 605, /**/ 604, /**/