Pass a constant string array directly to run_command_v_opt() instead of copying it into a strvec first. This shortens the code and avoids heap allocations. Signed-off-by: René Scharfe <l.s.r@xxxxxx> --- This patch is a bit silly because it doesn't actually fix anything, but I can't resist pointing out the possible code size reduction. And if opts becomes used eventually it's probably easier to use the args member of struct child_process instead of supplying our own strvec. builtin/gc.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/builtin/gc.c b/builtin/gc.c index 2753bd15a5..ceff31ea00 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -167,16 +167,9 @@ static void gc_config(void) struct maintenance_run_opts; static int maintenance_task_pack_refs(MAYBE_UNUSED struct maintenance_run_opts *opts) { - struct strvec pack_refs_cmd = STRVEC_INIT; - int ret; + const char *argv[] = { "pack-refs", "--all", "--prune", NULL }; - strvec_pushl(&pack_refs_cmd, "pack-refs", "--all", "--prune", NULL); - - ret = run_command_v_opt(pack_refs_cmd.v, RUN_GIT_CMD); - - strvec_clear(&pack_refs_cmd); - - return ret; + return run_command_v_opt(argv, RUN_GIT_CMD); } static int too_many_loose_objects(void) -- 2.37.3