diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/util.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/common/util.c b/common/util.c index 243f90a8..25a3e861 100644 --- a/common/util.c +++ b/common/util.c @@ -1,3 +1,5 @@ +#include <math.h> + #include "util.h" int wrap(int i, int max) { @@ -5,13 +7,10 @@ int wrap(int i, int max) { } int numlen(int n) { - if (n >= 1000000) return 7; - if (n >= 100000) return 6; - if (n >= 10000) return 5; - if (n >= 1000) return 4; - if (n >= 100) return 3; - if (n >= 10) return 2; - return 1; + if (n == 0) { + return n; + } + return log10(n) + 1; } static struct modifier_key { |