Alex Henrie : kernel32: Simplify Linux implementation of GlobalMemoryStatusEx.

Alexandre Julliard julliard at winehq.org
Fri Mar 24 16:24:25 CDT 2017


Module: wine
Branch: master
Commit: fd7acb03ed27c9373631666a23b260fb37bf984f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fd7acb03ed27c9373631666a23b260fb37bf984f

Author: Alex Henrie <alexhenrie24 at gmail.com>
Date:   Thu Mar 23 08:59:49 2017 -0600

kernel32: Simplify Linux implementation of GlobalMemoryStatusEx.

Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/kernel32/heap.c | 40 +++++++++++++---------------------------
 1 file changed, 13 insertions(+), 27 deletions(-)

diff --git a/dlls/kernel32/heap.c b/dlls/kernel32/heap.c
index 6c64d57..fd6414a 100644
--- a/dlls/kernel32/heap.c
+++ b/dlls/kernel32/heap.c
@@ -1200,38 +1200,24 @@ BOOL WINAPI GlobalMemoryStatusEx( LPMEMORYSTATUSEX lpmemex )
     if (f)
     {
         char buffer[256];
-        unsigned long total, used, free, shared, buffers, cached;
+        unsigned long value;
 
         lpmemex->ullTotalPhys = lpmemex->ullAvailPhys = 0;
         lpmemex->ullTotalPageFile = lpmemex->ullAvailPageFile = 0;
         while (fgets( buffer, sizeof(buffer), f ))
         {
-	    /* old style /proc/meminfo ... */
-            if (sscanf( buffer, "Mem: %lu %lu %lu %lu %lu %lu",
-                        &total, &used, &free, &shared, &buffers, &cached ))
-            {
-                lpmemex->ullTotalPhys += total;
-                lpmemex->ullAvailPhys += free + buffers + cached;
-            }
-            if (sscanf( buffer, "Swap: %lu %lu %lu", &total, &used, &free ))
-            {
-                lpmemex->ullTotalPageFile += total;
-                lpmemex->ullAvailPageFile += free;
-            }
-
-            /* new style /proc/meminfo ... */
-            if (sscanf(buffer, "MemTotal: %lu", &total))
-                lpmemex->ullTotalPhys = (ULONG64)total*1024;
-            if (sscanf(buffer, "MemFree: %lu", &free))
-                lpmemex->ullAvailPhys = (ULONG64)free*1024;
-            if (sscanf(buffer, "SwapTotal: %lu", &total))
-                lpmemex->ullTotalPageFile = (ULONG64)total*1024;
-            if (sscanf(buffer, "SwapFree: %lu", &free))
-                lpmemex->ullAvailPageFile = (ULONG64)free*1024;
-            if (sscanf(buffer, "Buffers: %lu", &buffers))
-                lpmemex->ullAvailPhys += (ULONG64)buffers*1024;
-            if (sscanf(buffer, "Cached: %lu", &cached))
-                lpmemex->ullAvailPhys += (ULONG64)cached*1024;
+            if (sscanf(buffer, "MemTotal: %lu", &value))
+                lpmemex->ullTotalPhys = (ULONG64)value*1024;
+            else if (sscanf(buffer, "MemFree: %lu", &value))
+                lpmemex->ullAvailPhys = (ULONG64)value*1024;
+            else if (sscanf(buffer, "SwapTotal: %lu", &value))
+                lpmemex->ullTotalPageFile = (ULONG64)value*1024;
+            else if (sscanf(buffer, "SwapFree: %lu", &value))
+                lpmemex->ullAvailPageFile = (ULONG64)value*1024;
+            else if (sscanf(buffer, "Buffers: %lu", &value))
+                lpmemex->ullAvailPhys += (ULONG64)value*1024;
+            else if (sscanf(buffer, "Cached: %lu", &value))
+                lpmemex->ullAvailPhys += (ULONG64)value*1024;
         }
         fclose( f );
     }




More information about the wine-cvs mailing list