diff options
author | Martin Ågren <martin.agren@gmail.com> | 2020-04-11 10:11:45 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-04-12 00:21:12 +0300 |
commit | 9881b451f33b7b0df247a4b28a9c08c65eb4ca95 (patch) | |
tree | 79dd7d81efd6e918de2f2d3b6e5ff9da694b887f /builtin/merge.c | |
parent | 9fadedd637b312089337d73c3ed8447e9f0aa775 (diff) |
merge: use skip_prefix to parse config key
Instead of using `starts_with()`, the magic number 7, `strlen()` and a
fair number of additions to verify the three parts of the config key
"branch.<branch>.mergeoptions", use `skip_prefix()` to jump through them
more explicitly.
We need to introduce a new variable for this (we certainly can't modify
`k` just because we see "branch."!). With `skip_prefix()` we often use
quite bland names like `p` or `str`. Let's do the same. If and when this
function needs to do more prefix-skipping, we'll have a generic variable
ready for this.
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/merge.c')
-rw-r--r-- | builtin/merge.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/builtin/merge.c b/builtin/merge.c index d127d2225f..df83ba2a80 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -597,10 +597,12 @@ static void parse_branch_merge_options(char *bmo) static int git_merge_config(const char *k, const char *v, void *cb) { int status; + const char *str; - if (branch && starts_with(k, "branch.") && - starts_with(k + 7, branch) && - !strcmp(k + 7 + strlen(branch), ".mergeoptions")) { + if (branch && + skip_prefix(k, "branch.", &str) && + skip_prefix(str, branch, &str) && + !strcmp(str, ".mergeoptions")) { free(branch_mergeoptions); branch_mergeoptions = xstrdup(v); return 0; |