Merge branch 'lp/diffstat-with-graph'
[gitweb.git] / diff.c
diff --git a/diff.c b/diff.c
index 22288b0106258e4f2c170f9e51dbf72f563179bd..7da16c9590805dc687d7dc67acac2cb104144036 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -1509,7 +1509,7 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
         */
 
        if (options->stat_width == -1)
-               width = term_columns();
+               width = term_columns() - options->output_prefix_length;
        else
                width = options->stat_width ? options->stat_width : 80;
 
@@ -1537,8 +1537,12 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
         * Adjust adjustable widths not to exceed maximum width
         */
        if (name_width + number_width + 6 + graph_width > width) {
-               if (graph_width > width * 3/8 - number_width - 6)
+               if (graph_width > width * 3/8 - number_width - 6) {
                        graph_width = width * 3/8 - number_width - 6;
+                       if (graph_width < 6)
+                               graph_width = 6;
+               }
+
                if (options->stat_graph_width &&
                    graph_width > options->stat_graph_width)
                        graph_width = options->stat_graph_width;