decimal_width: avoid integer overflow
[gitweb.git] / pager.c
diff --git a/pager.c b/pager.c
index fa19765eb9e60d2dbc17887773fff4ad66a32c37..314210351be17390711cd6e4ca3f4f7e9727771f 100644 (file)
--- a/pager.c
+++ b/pager.c
@@ -139,12 +139,12 @@ int term_columns(void)
 /*
  * How many columns do we need to show this number in decimal?
  */
-int decimal_width(int number)
+int decimal_width(uintmax_t number)
 {
-       int i, width;
+       int width;
 
-       for (width = 1, i = 10; i <= number; width++)
-               i *= 10;
+       for (width = 1; number >= 10; width++)
+               number /= 10;
        return width;
 }