diff options
author | Christian Hesse <mail@eworm.de> | 2015-06-12 09:50:55 +0200 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2015-08-27 06:13:27 +0200 |
commit | 6f58fbc5dd091557129895bbd0a05335e411d19e (patch) | |
tree | 8c9b67ce97072ab0d53d1c2552994a60eb672984 /MemoryMeter.c | |
parent | f3a9f5406beb52da58432fdc30eb9db233cff390 (diff) |
make units more dynamic
Signed-off-by: Christian Hesse <mail@eworm.de>
Diffstat (limited to 'MemoryMeter.c')
-rw-r--r-- | MemoryMeter.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/MemoryMeter.c b/MemoryMeter.c index f1c1e357..ba9dcc9c 100644 --- a/MemoryMeter.c +++ b/MemoryMeter.c @@ -25,8 +25,16 @@ int MemoryMeter_attributes[] = { }; static void MemoryMeter_setValues(Meter* this, char* buffer, int size) { + int written; Platform_setMemoryValues(this); - snprintf(buffer, size, "%ld/%ldM", (long int) this->values[0] / 1024, (long int) this->total / 1024); + + written = Meter_humanUnit(buffer, this->values[0], size); + buffer += written; + if ((size -= written) > 0) { + *buffer++ = '/'; + size--; + Meter_humanUnit(buffer, this->total, size); + } } static void MemoryMeter_display(Object* cast, RichString* out) { |