summaryrefslogtreecommitdiff
path: root/parse-options-cb.c
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2020-02-09 15:58:42 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-02-10 17:45:49 (GMT)
commit7a9f8ca805045f5d6d59227c8cce5a3e6790b0ef (patch)
tree689b2b2dfba7c9ce7fedcee728bff69edb34a5bc /parse-options-cb.c
parentc84078573e9dc4b817d8270268583251eed7cff9 (diff)
downloadgit-7a9f8ca805045f5d6d59227c8cce5a3e6790b0ef.zip
git-7a9f8ca805045f5d6d59227c8cce5a3e6790b0ef.tar.gz
git-7a9f8ca805045f5d6d59227c8cce5a3e6790b0ef.tar.bz2
parse-options: simplify parse_options_dup()
Simplify parse_options_dup() by making it a trivial wrapper of parse_options_concat() by making use of the facts that the latter duplicates its input as well and that appending an empty set is a no-op. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'parse-options-cb.c')
-rw-r--r--parse-options-cb.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/parse-options-cb.c b/parse-options-cb.c
index 7d56681..a28b55b 100644
--- a/parse-options-cb.c
+++ b/parse-options-cb.c
@@ -170,15 +170,9 @@ static size_t parse_options_count(const struct option *opt)
struct option *parse_options_dup(const struct option *o)
{
- const struct option *orig = o;
- struct option *opts;
- size_t nr = parse_options_count(o);
-
- ALLOC_ARRAY(opts, nr + 1);
- COPY_ARRAY(opts, orig, nr);
- memset(opts + nr, 0, sizeof(*opts));
- opts[nr].type = OPTION_END;
- return opts;
+ struct option no_options[] = { OPT_END() };
+
+ return parse_options_concat(o, no_options);
}
struct option *parse_options_concat(const struct option *a,