diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2012-02-12 15:16:20 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-02-14 16:16:19 -0800 |
commit | ec7ff5ba272b565ed093a98dc13dd5cd26aeac92 (patch) | |
tree | 9039325114378101cc6f922337a9ab33e3adb3bf | |
parent | 58d4203aa617293d1dc3746a1ea33d84eb766e0f (diff) | |
download | git-ec7ff5ba272b565ed093a98dc13dd5cd26aeac92.tar.gz |
make lineno_width() from blame reusable for otherszj/decimal-width
builtin/blame.c has a helper function to compute how many columns
we need to show a line-number, whose implementation is reusable as
a more generic helper function to count the number of columns
necessary to show any cardinal number.
Rename it to decimal_width(), move it to pager.c and export it for
use by future callers.
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/blame.c | 18 | ||||
-rw-r--r-- | cache.h | 1 | ||||
-rw-r--r-- | pager.c | 12 |
3 files changed, 16 insertions, 15 deletions
diff --git a/builtin/blame.c b/builtin/blame.c index 5a67c202f0..f028e8aec8 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -1829,18 +1829,6 @@ static int read_ancestry(const char *graft_file) } /* - * How many columns do we need to show line numbers in decimal? - */ -static int lineno_width(int lines) -{ - int i, width; - - for (width = 1, i = 10; i <= lines; width++) - i *= 10; - return width; -} - -/* * How many columns do we need to show line numbers, authors, * and filenames? */ @@ -1880,9 +1868,9 @@ static void find_alignment(struct scoreboard *sb, int *option) if (largest_score < ent_score(sb, e)) largest_score = ent_score(sb, e); } - max_orig_digits = lineno_width(longest_src_lines); - max_digits = lineno_width(longest_dst_lines); - max_score_digits = lineno_width(largest_score); + max_orig_digits = decimal_width(longest_src_lines); + max_digits = decimal_width(longest_dst_lines); + max_score_digits = decimal_width(largest_score); } /* @@ -1176,6 +1176,7 @@ extern void setup_pager(void); extern const char *pager_program; extern int pager_in_use(void); extern int pager_use_color; +extern int decimal_width(int); extern const char *editor_program; extern const char *askpass_program; @@ -110,3 +110,15 @@ int pager_in_use(void) env = getenv("GIT_PAGER_IN_USE"); return env ? git_config_bool("GIT_PAGER_IN_USE", env) : 0; } + +/* + * How many columns do we need to show this number in decimal? + */ +int decimal_width(int number) +{ + int i, width; + + for (width = 1, i = 10; i <= number; width++) + i *= 10; + return width; +} |