diff options
Diffstat (limited to 'zfs/ZfsArcMeter.c')
-rw-r--r-- | zfs/ZfsArcMeter.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/zfs/ZfsArcMeter.c b/zfs/ZfsArcMeter.c index 9bfc44b7..e844d779 100644 --- a/zfs/ZfsArcMeter.c +++ b/zfs/ZfsArcMeter.c @@ -33,17 +33,16 @@ void ZfsArcMeter_readStats(Meter* this, const ZfsArcStats* stats) { this->values[5] = stats->size; } -static void ZfsArcMeter_updateValues(Meter* this, char* buffer, int size) { +static void ZfsArcMeter_updateValues(Meter* this, char* buffer, size_t size) { int written; Platform_setZfsArcValues(this); written = Meter_humanUnit(buffer, this->values[5], size); - buffer += written; - 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_humanUnit(buffer, this->total, size); } static void ZfsArcMeter_display(const Object* cast, RichString* out) { |