Junio C Hamano <gitster@xxxxxxxxx> writes: >> Since there's only one line that cares about the result of "colors", >> maybe it would be less confusing to do: >> >> if (!git_config_get-string("log.graphcolors", &string)) { >> ... parse, etc ... >> graph_set_column_colors(colors.argv, colors.argc - 1); >> } else { >> graph_set_column_colors(column_colors_ansi, >> column_colors_ansi_max); >> } > > Yes, that would be much much less confusing. By doing so, the cover > letter can lose "pushing the limits of abuse", too ;-). Will queue with a squashable change. Thanks. graph.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/graph.c b/graph.c index 822d40ae20..00aeee36d8 100644 --- a/graph.c +++ b/graph.c @@ -229,22 +229,20 @@ struct git_graph *graph_init(struct rev_info *opt) struct git_graph *graph = xmalloc(sizeof(struct git_graph)); if (!column_colors) { - struct argv_array ansi_colors = { - column_colors_ansi, - column_colors_ansi_max + 1 - }; - struct argv_array *colors = &ansi_colors; char *string; - - if (!git_config_get_string("log.graphcolors", &string)) { + if (git_config_get_string("log.graphcolors", &string)) { + /* not configured -- use default */ + graph_set_column_colors(column_colors_ansi, + column_colors_ansi_max); + } else { static struct argv_array custom_colors = ARGV_ARRAY_INIT; argv_array_clear(&custom_colors); parse_graph_colors_config(&custom_colors, string); free(string); - colors = &custom_colors; + /* graph_set_column_colors takes a max-index, not a count */ + graph_set_column_colors(custom_colors.argv, + custom_colors.argc - 1); } - /* graph_set_column_colors takes a max-index, not a count */ - graph_set_column_colors(colors->argv, colors->argc - 1); } graph->commit = NULL;