# HG changeset patch # User Bram Moolenaar # Date 1342690646 -7200 # Node ID 4873d9c4ad3b7214d3ea8af9712a87ff69948380 # Parent 942df3a8051bfd83a3282f35180d1e4345e98459 updated for version 7.3.605 Problem: MS-Windows: Can't compile with older compilers. (Titov Anatoly) Solution: Add #ifdef for MEMORYSTATUSEX. diff --git a/src/os_win32.c b/src/os_win32.c --- 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 --- a/src/version.c +++ b/src/version.c @@ -715,6 +715,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 605, +/**/ 604, /**/ 603,