Skip to content

Commit cd48dad

Browse files
committed
diff.c: remove output_prefix_length field
"diff/log --stat" has a logic that determines the display columns available for the diffstat part of the output and apportions it for pathnames and diffstat graph automatically. 5e71a84 (Add output_prefix_length to diff_options, 2012-04-16) added the output_prefix_length field to diff_options structure to allow this logic to subtract the display columns used for the history graph part from the total "terminal width"; this matters when the "git log --graph -p" option is in use. The field must be set to the number of display columns needed to show the output from the output_prefix() callback, which is error prone. As there is only one user of the field, and the user has the actual value of the prefix string, let's get rid of the field and have the user count the display width itself. Signed-off-by: Junio C Hamano <[email protected]>
1 parent 8576fde commit cd48dad

File tree

3 files changed

+1
-4
lines changed

3 files changed

+1
-4
lines changed

diff.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1625,7 +1625,7 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
16251625
*/
16261626

16271627
if (options->stat_width == -1)
1628-
width = term_columns() - options->output_prefix_length;
1628+
width = term_columns() - strlen(line_prefix);
16291629
else
16301630
width = options->stat_width ? options->stat_width : 80;
16311631
number_width = decimal_width(max_change) > number_width ?

diff.h

-1
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,6 @@ struct diff_options {
174174
diff_format_fn_t format_callback;
175175
void *format_callback_data;
176176
diff_prefix_fn_t output_prefix;
177-
int output_prefix_length;
178177
void *output_prefix_data;
179178

180179
int diff_path_counter;

graph.c

-2
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,6 @@ static struct strbuf *diff_output_prefix_callback(struct diff_options *opt, void
197197
assert(opt);
198198
assert(graph);
199199

200-
opt->output_prefix_length = graph->width;
201200
strbuf_reset(&msgbuf);
202201
graph_padding_line(graph, &msgbuf);
203202
return &msgbuf;
@@ -245,7 +244,6 @@ struct git_graph *graph_init(struct rev_info *opt)
245244
*/
246245
opt->diffopt.output_prefix = diff_output_prefix_callback;
247246
opt->diffopt.output_prefix_data = graph;
248-
opt->diffopt.output_prefix_length = 0;
249247

250248
return graph;
251249
}

0 commit comments

Comments
 (0)