diff options
Diffstat (limited to 'libnetdata/storage_number/storage_number.c')
-rw-r--r-- | libnetdata/storage_number/storage_number.c | 4 |
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 |