threads / patch / 14174

patchshow_stats(): fix stats width calculation

Subject: [PATCH] show_stats(): fix stats width calculation

## tl;dr

One message between Jun 27, 2008 and Jun 27, 2008. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Olivier Marin· Jun 27, 2008, 00:18 UTC · lore
From: Olivier Marin <dkr@freesurf.fr>

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 <dkr@freesurf.fr>
---
 diff.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)
Show changes to diff.c +6 −6
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

← back to recent threads