From: René Scharfe Date: Wed, 30 Nov 2022 18:04:08 GMT Subject: [PATCH 2/3] diff: let prep_parse_options() return parseopt array Message-ID: In-Reply-To: <0620b4a6-b80a-d8a0-5a35-857b9fe0c986@web.de> prep_parse_options() sets the parseopts member of struct diff_options. Let it return the pointer instead and have its caller do the assignment instead and rename the function to get_diff_parseopts() to reflect that change. This allows using it in other places and with other variables. Signed-off-by: René Scharfe --- diff.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/diff.c b/diff.c index e01129f0ea..e469d5d2a0 100644 --- a/diff.c +++ b/diff.c @@ -4615,7 +4615,7 @@ static void run_checkdiff(struct diff_filepair *p, struct diff_options *o) builtin_checkdiff(name, other, attr_path, p->one, p->two, o); } -static void prep_parse_options(struct diff_options *options); +static struct option *get_diff_parseopts(struct diff_options *options); void repo_diff_setup(struct repository *r, struct diff_options *options) { @@ -4663,7 +4663,7 @@ void repo_diff_setup(struct repository *r, struct diff_options *options) options->color_moved = diff_color_moved_default; options->color_moved_ws_handling = diff_color_moved_ws_default; - prep_parse_options(options); + options->parseopts = get_diff_parseopts(options); } static const char diff_status_letters[] = { @@ -5419,7 +5419,7 @@ static int diff_opt_rotate_to(const struct option *opt, const char *arg, int uns return 0; } -static void prep_parse_options(struct diff_options *options) +static struct option *get_diff_parseopts(struct diff_options *options) { struct option parseopts[] = { OPT_GROUP(N_("Diff output format options")), @@ -5689,8 +5689,7 @@ static void prep_parse_options(struct diff_options *options) OPT_END() }; - ALLOC_ARRAY(options->parseopts, ARRAY_SIZE(parseopts)); - memcpy(options->parseopts, parseopts, sizeof(parseopts)); + return parse_options_dup(parseopts); } struct option *add_diff_options(const struct option *parseopts, -- 2.38.1