Skip to content

Commit

Permalink
ll-merge: simplify opts == NULL case
Browse files Browse the repository at this point in the history
As long as sizeof(struct ll_merge_options) is small, there is not
much reason not to keep a copy of the default merge options in the BSS
section.  In return, we get clearer code and one less stack frame in
the opts == NULL case.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jonathan Nieder authored and Junio C Hamano committed Jan 16, 2011
1 parent adf872e commit 4fb40c2
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions ll-merge.c
Original file line number Diff line number Diff line change
Expand Up @@ -351,16 +351,13 @@ int ll_merge(mmbuffer_t *result_buf,
const struct ll_merge_options *opts)
{
static struct git_attr_check check[2];
static const struct ll_merge_options default_opts;
const char *ll_driver_name = NULL;
int marker_size = DEFAULT_CONFLICT_MARKER_SIZE;
const struct ll_merge_driver *driver;

if (!opts) {
struct ll_merge_options default_opts = {0};
return ll_merge(result_buf, path, ancestor, ancestor_label,
ours, our_label, theirs, their_label,
&default_opts);
}
if (!opts)
opts = &default_opts;

if (opts->renormalize) {
normalize_file(ancestor, path);
Expand Down

0 comments on commit 4fb40c2

Please sign in to comment.