DORMANTno replies

[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 <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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help