diff options
| author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2021-11-25 23:52:20 +0100 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2021-11-25 22:15:07 -0800 |
| commit | 2b7098936c9e91d527aa53b8d4af0b25d7e912b4 (patch) | |
| tree | d0042309f280e1246533b9bd0bcc70d5ff6ebbbc /builtin/help.c | |
| parent | 87ee87dd6bb633cd5171e244fb69cd4b66d294aa (diff) | |
| download | git-2b7098936c9e91d527aa53b8d4af0b25d7e912b4.tar.gz | |
run-command API users: use strvec_pushl(), not argv construction
Change a pattern of hardcoding an "argv" array size, populating it and
assigning to the "argv" member of "struct child_process" to instead
use "strvec_pushl()" to add data to the "args" member.
This implements the same behavior as before in fewer lines of code,
and moves us further towards being able to remove the "argv" member in
a subsequent commit.
Since we've entirely removed the "argv" variable(s) we can be sure
that no potential logic errors of the type discussed in a preceding
commit are being introduced here, i.e. ones where the local "argv" was
being modified after the assignment to "struct child_process"'s
"argv".
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/help.c')
| -rw-r--r-- | builtin/help.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/builtin/help.c b/builtin/help.c index 75cd2fb407..d387131dd8 100644 --- a/builtin/help.c +++ b/builtin/help.c @@ -212,11 +212,10 @@ static int check_emacsclient_version(void) { struct strbuf buffer = STRBUF_INIT; struct child_process ec_process = CHILD_PROCESS_INIT; - const char *argv_ec[] = { "emacsclient", "--version", NULL }; int version; /* emacsclient prints its version number on stderr */ - ec_process.argv = argv_ec; + strvec_pushl(&ec_process.args, "emacsclient", "--version", NULL); ec_process.err = -1; ec_process.stdout_to_stderr = 1; if (start_command(&ec_process)) |
