From 59c4a32f90ceecd4fdb8044b668bc476af29c5fe Mon Sep 17 00:00:00 2001 From: Stephen Crowley Date: Tue, 24 Nov 1998 20:41:02 +0000 Subject: [PATCH] Return the "buffers" and "cached" memory as free since it is deallocated when a program needs it anyway. --- memory/global.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/memory/global.c b/memory/global.c index 69934e36930..5c8666d2bb7 100644 --- a/memory/global.c +++ b/memory/global.c @@ -1464,17 +1464,18 @@ VOID WINAPI GlobalMemoryStatus( if (f) { char buffer[256]; - int total, used, free; + int total, used, free, shared, buffers, cached; + lpmem->dwLength = sizeof(MEMORYSTATUS); lpmem->dwTotalPhys = lpmem->dwAvailPhys = 0; lpmem->dwTotalPageFile = lpmem->dwAvailPageFile = 0; while (fgets( buffer, sizeof(buffer), f )) { /* old style /proc/meminfo ... */ - if (sscanf( buffer, "Mem: %d %d %d", &total, &used, &free )) + if (sscanf( buffer, "Mem: %d %d %d %d %d %d", &total, &used, &free, &shared, &buffers, &cached )) { lpmem->dwTotalPhys += total; - lpmem->dwAvailPhys += free; + lpmem->dwAvailPhys += free + buffers + cached; } if (sscanf( buffer, "Swap: %d %d %d", &total, &used, &free )) { @@ -1491,6 +1492,10 @@ VOID WINAPI GlobalMemoryStatus( lpmem->dwTotalPageFile = total*1024; if (sscanf(buffer, "SwapFree: %d", &free)) lpmem->dwAvailPageFile = free*1024; + if (sscanf(buffer, "Buffers: %d", &buffers)) + lpmem->dwAvailPhys += buffers*1024; + if (sscanf(buffer, "Cached: %d", &cached)) + lpmem->dwAvailPhys += cached*1024; } fclose( f );