From ff9409b1737627857eb47f64f536a3f66b6a09a4 Mon Sep 17 00:00:00 2001 From: Daniel Lange Date: Mon, 11 Apr 2016 13:01:07 +0200 Subject: Imported Upstream version 2.0.0 --- SwapMeter.c | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) (limited to 'SwapMeter.c') diff --git a/SwapMeter.c b/SwapMeter.c index 2cb86d5..895ca0b 100644 --- a/SwapMeter.c +++ b/SwapMeter.c @@ -8,7 +8,7 @@ in the source distribution for its full text. #include "SwapMeter.h" #include "CRT.h" -#include "ProcessList.h" +#include "Platform.h" #include #include @@ -20,37 +20,31 @@ in the source distribution for its full text. #include "Meter.h" }*/ -#define KILOBYTE 1 -#define MEGABYTE 1024 -#define GIGABYTE 1048576 - int SwapMeter_attributes[] = { SWAP }; -/* NOTE: Value is in kilobytes */ -static void SwapMeter_humanNumber(char* buffer, const long int* value) { - sprintf(buffer, "%ldM ", *value / MEGABYTE); -} - -static void SwapMeter_setValues(Meter* this, char* buffer, int len) { - long int usedSwap = this->pl->usedSwap; - this->total = this->pl->totalSwap; - this->values[0] = usedSwap; +static void SwapMeter_setValues(Meter* this, char* buffer, int size) { + int written; + Platform_setSwapValues(this); - snprintf(buffer, len, "%ld/%ldMB", (long int) usedSwap / MEGABYTE, (long int) this->total / MEGABYTE); + written = Meter_humanUnit(buffer, this->values[0], size); + buffer += written; + if ((size -= written) > 0) { + *buffer++ = '/'; + size--; + Meter_humanUnit(buffer, this->total, size); + } } static void SwapMeter_display(Object* cast, RichString* out) { char buffer[50]; Meter* this = (Meter*)cast; - long int swap = (long int) this->values[0]; - long int total = (long int) this->total; RichString_write(out, CRT_colors[METER_TEXT], ":"); - SwapMeter_humanNumber(buffer, &total); + Meter_humanUnit(buffer, this->total, 50); RichString_append(out, CRT_colors[METER_VALUE], buffer); - SwapMeter_humanNumber(buffer, &swap); - RichString_append(out, CRT_colors[METER_TEXT], "used:"); + Meter_humanUnit(buffer, this->values[0], 50); + RichString_append(out, CRT_colors[METER_TEXT], " used:"); RichString_append(out, CRT_colors[METER_VALUE], buffer); } -- cgit v1.2.3