mirror of https://github.com/xzeldon/htop.git
parent
90518bfc84
commit
402e46bb82
|
@ -927,30 +927,30 @@ static inline void LinuxProcessList_scanMemoryInfo(ProcessList* this) {
|
|||
char buffer[128];
|
||||
while (fgets(buffer, 128, file)) {
|
||||
|
||||
#define tryRead(label, variable) (String_startsWith(buffer, label) && sscanf(buffer + strlen(label), " %32llu kB", variable))
|
||||
#define tryRead(label, variable) do { if (String_startsWith(buffer, label) && sscanf(buffer + strlen(label), " %32llu kB", variable)) { break; } } while(0)
|
||||
switch (buffer[0]) {
|
||||
case 'M':
|
||||
if (tryRead("MemTotal:", &this->totalMem)) {}
|
||||
else if (tryRead("MemFree:", &this->freeMem)) {}
|
||||
else if (tryRead("MemShared:", &this->sharedMem)) {}
|
||||
tryRead("MemTotal:", &this->totalMem);
|
||||
tryRead("MemFree:", &this->freeMem);
|
||||
tryRead("MemShared:", &this->sharedMem);
|
||||
break;
|
||||
case 'B':
|
||||
if (tryRead("Buffers:", &this->buffersMem)) {}
|
||||
tryRead("Buffers:", &this->buffersMem);
|
||||
break;
|
||||
case 'C':
|
||||
if (tryRead("Cached:", &this->cachedMem)) {}
|
||||
tryRead("Cached:", &this->cachedMem);
|
||||
break;
|
||||
case 'S':
|
||||
switch (buffer[1]) {
|
||||
case 'w':
|
||||
if (tryRead("SwapTotal:", &this->totalSwap)) {}
|
||||
else if (tryRead("SwapFree:", &swapFree)) {}
|
||||
tryRead("SwapTotal:", &this->totalSwap);
|
||||
tryRead("SwapFree:", &swapFree);
|
||||
break;
|
||||
case 'h':
|
||||
if (tryRead("Shmem:", &shmem)) {}
|
||||
tryRead("Shmem:", &shmem);
|
||||
break;
|
||||
case 'R':
|
||||
if (tryRead("SReclaimable:", &sreclaimable)) {}
|
||||
tryRead("SReclaimable:", &sreclaimable);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -3,7 +3,7 @@ import os, sys, string, io
|
|||
try:
|
||||
from StringIO import StringIO
|
||||
except ImportError:
|
||||
from io import StringIO
|
||||
StringIO = io.StringIO
|
||||
|
||||
ANY=1
|
||||
COPY=2
|
||||
|
|
Loading…
Reference in New Issue