Skip to content

Commit

Permalink
diff.c: remove output_prefix_length field
Browse files Browse the repository at this point in the history
"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]>
  • Loading branch information
gitster committed Sep 1, 2016
1 parent 8576fde commit cd48dad
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 4 deletions.
2 changes: 1 addition & 1 deletion diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -1625,7 +1625,7 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
*/

if (options->stat_width == -1)
width = term_columns() - options->output_prefix_length;
width = term_columns() - strlen(line_prefix);
else
width = options->stat_width ? options->stat_width : 80;
number_width = decimal_width(max_change) > number_width ?
Expand Down
1 change: 0 additions & 1 deletion diff.h
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,6 @@ struct diff_options {
diff_format_fn_t format_callback;
void *format_callback_data;
diff_prefix_fn_t output_prefix;
int output_prefix_length;
void *output_prefix_data;

int diff_path_counter;
Expand Down
2 changes: 0 additions & 2 deletions graph.c
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,6 @@ static struct strbuf *diff_output_prefix_callback(struct diff_options *opt, void
assert(opt);
assert(graph);

opt->output_prefix_length = graph->width;
strbuf_reset(&msgbuf);
graph_padding_line(graph, &msgbuf);
return &msgbuf;
Expand Down Expand Up @@ -245,7 +244,6 @@ struct git_graph *graph_init(struct rev_info *opt)
*/
opt->diffopt.output_prefix = diff_output_prefix_callback;
opt->diffopt.output_prefix_data = graph;
opt->diffopt.output_prefix_length = 0;

return graph;
}
Expand Down

0 comments on commit cd48dad

Please sign in to comment.