use strvec_pushv() to add another strvec
Add and apply a semantic patch that simplifies the code by letting strvec_pushv() append the items of a second strvec instead of pushing them one by one. Suggested-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
2d733b9660
commit
250e977a2b
|
|
@ -182,8 +182,7 @@ static struct replay_opts get_replay_opts(const struct rebase_options *opts)
|
|||
|
||||
replay.signoff = opts->signoff;
|
||||
|
||||
for (size_t i = 0; i < opts->trailer_args.nr; i++)
|
||||
strvec_push(&replay.trailer_args, opts->trailer_args.v[i]);
|
||||
strvec_pushv(&replay.trailer_args, opts->trailer_args.v);
|
||||
|
||||
replay.allow_ff = !(opts->flags & REBASE_FORCE);
|
||||
if (opts->allow_rerere_autoupdate)
|
||||
|
|
|
|||
|
|
@ -1024,12 +1024,8 @@ static int get_pack(struct fetch_pack_args *args,
|
|||
fsck_msg_types.buf);
|
||||
}
|
||||
|
||||
if (index_pack_args) {
|
||||
int i;
|
||||
|
||||
for (i = 0; i < cmd.args.nr; i++)
|
||||
strvec_push(index_pack_args, cmd.args.v[i]);
|
||||
}
|
||||
if (index_pack_args)
|
||||
strvec_pushv(index_pack_args, cmd.args.v);
|
||||
|
||||
sigchain_push(SIGPIPE, SIG_IGN);
|
||||
|
||||
|
|
|
|||
3
git.c
3
git.c
|
|
@ -877,8 +877,7 @@ static int run_argv(struct strvec *args)
|
|||
commit_pager_choice();
|
||||
|
||||
strvec_push(&cmd.args, "git");
|
||||
for (size_t i = 0; i < args->nr; i++)
|
||||
strvec_push(&cmd.args, args->v[i]);
|
||||
strvec_pushv(&cmd.args, args->v);
|
||||
|
||||
trace_argv_printf(cmd.args.v, "trace: exec:");
|
||||
|
||||
|
|
|
|||
|
|
@ -1815,7 +1815,6 @@ int fetch_submodules(struct repository *r,
|
|||
int default_option,
|
||||
int quiet, int max_parallel_jobs)
|
||||
{
|
||||
int i;
|
||||
struct submodule_parallel_fetch spf = SPF_INIT;
|
||||
const struct run_process_parallel_opts opts = {
|
||||
.tr2_category = "submodule",
|
||||
|
|
@ -1842,8 +1841,7 @@ int fetch_submodules(struct repository *r,
|
|||
die(_("index file corrupt"));
|
||||
|
||||
strvec_push(&spf.args, "fetch");
|
||||
for (i = 0; i < options->nr; i++)
|
||||
strvec_push(&spf.args, options->v[i]);
|
||||
strvec_pushv(&spf.args, options->v);
|
||||
strvec_push(&spf.args, "--recurse-submodules-default");
|
||||
/* default value, "--submodule-prefix" and its value are added later */
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
@@
|
||||
type T;
|
||||
identifier i;
|
||||
expression dst;
|
||||
struct strvec *src_ptr;
|
||||
struct strvec src_arr;
|
||||
@@
|
||||
(
|
||||
- for (T i = 0; i < src_ptr->nr; i++) { strvec_push(dst, src_ptr->v[i]); }
|
||||
+ strvec_pushv(dst, src_ptr->v);
|
||||
|
|
||||
- for (T i = 0; i < src_arr.nr; i++) { strvec_push(dst, src_arr.v[i]); }
|
||||
+ strvec_pushv(dst, src_arr.v);
|
||||
)
|
||||
|
||||
@ separate_loop_index @
|
||||
type T;
|
||||
identifier i;
|
||||
expression dst;
|
||||
struct strvec *src_ptr;
|
||||
struct strvec src_arr;
|
||||
@@
|
||||
T i;
|
||||
...
|
||||
(
|
||||
- for (i = 0; i < src_ptr->nr; i++) { strvec_push(dst, src_ptr->v[i]); }
|
||||
+ strvec_pushv(dst, src_ptr->v);
|
||||
|
|
||||
- for (i = 0; i < src_arr.nr; i++) { strvec_push(dst, src_arr.v[i]); }
|
||||
+ strvec_pushv(dst, src_arr.v);
|
||||
)
|
||||
|
||||
@ unused_loop_index extends separate_loop_index @
|
||||
@@
|
||||
{
|
||||
...
|
||||
- T i;
|
||||
... when != i
|
||||
}
|
||||
|
||||
@ depends on unused_loop_index @
|
||||
@@
|
||||
if (...)
|
||||
- {
|
||||
strvec_pushv(...);
|
||||
- }
|
||||
Loading…
Reference in New Issue