CVS: winex/memory global.c,1.9,1.10

[email protected] 31 Jul 2007 18:02:21 -0000
Newsgroups gmane.comp.emulators.winex.cvs
Message-ID <[email protected]>
Subject: winex/memory global.c,1.9,1.10Update of /var/lib/cvsd/cvsroot/winex/memory
In directory agravaine:/tmp/cvs-serv25374/memory

Modified Files:
	global.c 
Log Message:

- modify GlobalMemoryStatus() to cap memory values at 2G
- update hud to use GlobalMemoryStatusEx() to be able to handle large amounts of memory



Index: global.c
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/memory/global.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- global.c	28 Mar 2007 16:27:25 -0000	1.9
+++ global.c	31 Jul 2007 18:02:19 -0000	1.10
@@ -1676,6 +1676,16 @@
         lpmem->dwTotalVirtual =(DWORD) ms.ullTotalVirtual;
         lpmem->dwAvailVirtual =(DWORD) ms.ullAvailVirtual;
     }
+
+    /* According to MSDN, need to handle values between 2G and 4G by
+       pretending there's only 2G */
+    if ((lpmem->dwTotalPhys > MAXLONG) && (lpmem->dwTotalPhys < MAXDWORD))
+       lpmem->dwTotalPhys = MAXLONG;
+    if ((lpmem->dwAvailPhys > MAXLONG) && (lpmem->dwAvailPhys < MAXDWORD))
+       lpmem->dwAvailPhys = MAXLONG;
+
+    TRACE ("Total mem: %lu Avail mem: %lu\n",
+           lpmem->dwTotalPhys, lpmem->dwAvailPhys);
 }
 
 /***********************************************************************