summaryrefslogtreecommitdiffstats
path: root/libnetdata/storage_number/storage_number.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnetdata/storage_number/storage_number.c')
-rw-r--r--libnetdata/storage_number/storage_number.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libnetdata/storage_number/storage_number.c b/libnetdata/storage_number/storage_number.c
index 6825fa7d0..8ef1353b0 100644
--- a/libnetdata/storage_number/storage_number.c
+++ b/libnetdata/storage_number/storage_number.c
@@ -61,6 +61,10 @@ storage_number pack_storage_number(calculated_number value, uint32_t flags) {
m++;
}
+ if (unlikely(n > (calculated_number) (0x00ffffff))) {
+ n /= 10;
+ m--;
+ }
// the value was small enough and we multiplied it
// so we add a divider to unpack it
r += (0 << 30) + (m << 27); // the divider m