]> git.ipfire.org Git - thirdparty/git.git/commitdiff
parse-options: simplify parse_options_dup()
authorRené Scharfe <l.s.r@web.de>
Sun, 9 Feb 2020 15:58:42 +0000 (16:58 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 10 Feb 2020 17:45:49 +0000 (09:45 -0800)
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>
parse-options-cb.c

index 7d56681130a32301ec0ebad3f3dd7e5a36c19708..a28b55be48dc84582f18df446b1eb36f26b17167 100644 (file)
@@ -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,