[PATCH 2/8] builtin-merge.c: call exclude_cmds() correctly.
- From
Avery Pennarun <apenwarr@gmail.com>
- Date
- Nov 26, 2009, 02:23 UTC
- Message-ID
- <905749faf5ccb2c7c54d3318dbc662d69daf8d0e.1259201377.git.apenwarr@gmail.com>
- In-Reply-To
- <d243a513ffb8da4272f7a0e13a711f9b65195c25.1259201377.git.apenwarr@gmail.com>
We need to call exclude_cmds() after the loop, not during the loop, because excluding a command from the array can change the indexes of objects in the array. The result is that, depending on file ordering, some commands weren't excluded as they should have been.
Signed-off-by: Avery Pennarun <apenwarr@gmail.com> --- builtin-merge.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/builtin-merge.c b/builtin-merge.c index 57eedd4..855cf65 100644 --- a/builtin-merge.c +++ b/builtin-merge.c @@ -107,8 +107,8 @@ static struct strategy *get_strategy(const char *name) found = 1; if (!found) add_cmdname(¬_strategies, ent->name, ent->len); - exclude_cmds(&main_cmds, ¬_strategies); } + exclude_cmds(&main_cmds, ¬_strategies); } if (!is_in_cmdlist(&main_cmds, name) && !is_in_cmdlist(&other_cmds, name)) { fprintf(stderr, "Could not find merge strategy '%s'.\n", name);
-- 1.6.6.rc0.62.gaccf