Browse Source

Merge branch 'jk/decimal-width-for-uintmax' into maint

We didn't format an integer that wouldn't fit in "int" but in
"uintmax_t" correctly.

* jk/decimal-width-for-uintmax:
  decimal_width: avoid integer overflow
maint
Junio C Hamano 10 years ago
parent
commit
3bef3c12d6
  1. 2
      cache.h
  2. 8
      pager.c

2
cache.h

@ -1498,7 +1498,7 @@ extern const char *pager_program; @@ -1498,7 +1498,7 @@ extern const char *pager_program;
extern int pager_in_use(void);
extern int pager_use_color;
extern int term_columns(void);
extern int decimal_width(int);
extern int decimal_width(uintmax_t);
extern int check_pager_config(const char *cmd);

extern const char *editor_program;

8
pager.c

@ -133,12 +133,12 @@ int term_columns(void) @@ -133,12 +133,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;
}


Loading…
Cancel
Save