From: Linus Torvalds Date: Wed, 1 Jun 2005 03:50:49 +0000 (-0700) Subject: git-apply --stat: limit lines to 79 characters X-Git-Tag: v0.99~397 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=95bedc9eecfa4d905a9d85dff8b406049476d9e7;p=git.git git-apply --stat: limit lines to 79 characters It had already tried to do that, but with the independent rounding of the number of '+' and '-' characters, it would sometimes do 80-char lines after all. --- diff --git a/apply.c b/apply.c index dba829226..e0a154902 100644 --- a/apply.c +++ b/apply.c @@ -699,7 +699,7 @@ const char minuses[]= "--------------------------------------------------------- static void show_stats(struct patch *patch) { char *name = patch->old_name; - int len, max, add, del; + int len, max, add, del, total; if (!name) name = patch->new_name; @@ -721,9 +721,14 @@ static void show_stats(struct patch *patch) max = max_change; if (max + len > 70) max = 70 - len; - - add = (patch->lines_added * max + max_change/2) / max_change; - del = (patch->lines_deleted * max + max_change/2) / max_change; + + add = patch->lines_added; + del = patch->lines_deleted; + total = add + del; + + total = (total * max + max_change / 2) / max_change; + add = (add * max + max_change / 2) / max_change; + del = total - add; printf(" %-*s |%5d %.*s%.*s\n", len, name, patch->lines_added + patch->lines_deleted, add, pluses, del, minuses);