[PATCH] show_stats(): fix stats width calculation
From: Olivier Marin <hidden>
Date: 2016-06-15 22:44:50
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Olivier Marin <hidden>
Date: 2016-06-15 22:44:50
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Olivier Marin <redacted> Before this patch, name_width becomes negative or null for width values less than 15 and name_width values greater than 25 (default: 50). This leads to output random data. This patch checks for minimal width and name_width values. Signed-off-by: Olivier Marin <redacted> --- diff.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/diff.c b/diff.c
index 44e8790..a85c8ca 100644
--- a/diff.c
+++ b/diff.c@@ -830,12 +830,12 @@ static void show_stats(struct diffstat_t* data, struct diff_options *options) /* Sanity: give at least 5 columns to the graph, * but leave at least 10 columns for the name. */ - if (width < name_width + 15) { - if (name_width <= 25) - width = name_width + 15; - else - name_width = width - 15; - } + if (width < 25) + width = 25; + if (name_width < 10) + name_width = 10; + else if (width < name_width + 15) + name_width = width - 15; /* Find the longest filename and max number of changes */ reset = diff_get_color_opt(options, DIFF_RESET);
--
1.5.6.1.141.ge3ab.dirty