summaryrefslogtreecommitdiffstats
path: root/linux/ZramMeter.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/ZramMeter.c')
-rw-r--r--linux/ZramMeter.c35
1 files changed, 12 insertions, 23 deletions
diff --git a/linux/ZramMeter.c b/linux/ZramMeter.c
index cee70586..e6b6937e 100644
--- a/linux/ZramMeter.c
+++ b/linux/ZramMeter.c
@@ -11,7 +11,7 @@ static const int ZramMeter_attributes[] = {
ZRAM
};
-static void ZramMeter_updateValues(Meter* this, char* buffer, int size) {
+static void ZramMeter_updateValues(Meter* this, char* buffer, size_t size) {
int written;
Platform_setZramValues(this);
@@ -20,29 +20,18 @@ static void ZramMeter_updateValues(Meter* this, char* buffer, int size) {
this->curItems = 1;
written = Meter_humanUnit(buffer, this->values[0], size);
- buffer += written;
- size -= written;
- if (size <= 0) {
- return;
- }
- *buffer++ = '(';
- size--;
- if (size <= 0) {
- return;
- }
+ METER_BUFFER_CHECK(buffer, size, written);
+
+ METER_BUFFER_APPEND_CHR(buffer, size, '(');
+
written = Meter_humanUnit(buffer, this->values[1], size);
- buffer += written;
- size -= written;
- if (size <= 0) {
- return;
- }
- *buffer++ = ')';
- size--;
- if ((size -= written) > 0) {
- *buffer++ = '/';
- size--;
- Meter_humanUnit(buffer, this->total, size);
- }
+ METER_BUFFER_CHECK(buffer, size, written);
+
+ METER_BUFFER_APPEND_CHR(buffer, size, ')');
+
+ METER_BUFFER_APPEND_CHR(buffer, size, '/');
+
+ Meter_humanUnit(buffer, this->total, size);
}
static void ZramMeter_display(const Object* cast, RichString* out) {