diff options
author | Jeff King <peff@peff.net> | 2016-06-17 19:38:35 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-06-17 17:03:55 -0700 |
commit | aedb5dc343be58c17dc974be401f6d2a9fa26d1e (patch) | |
tree | 8a710cdc6ceac8d13546e7e3c9d9b835353eb49d /gpg-interface.c | |
parent | 05219a1276341e72d8082d76b7f5ed394b7437a4 (diff) | |
download | git-aedb5dc343be58c17dc974be401f6d2a9fa26d1e.tar.gz |
gpg-interface: use child_process.args
Our argv allocations are relatively straightforward, but
this avoids us having to manually keep the count up to date
(or create new to-be-replaced slots in the declaration) when
we add new arguments.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'gpg-interface.c')
-rw-r--r-- | gpg-interface.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/gpg-interface.c b/gpg-interface.c index c4b1e8c78d..0ed9fa75ff 100644 --- a/gpg-interface.c +++ b/gpg-interface.c @@ -150,17 +150,15 @@ const char *get_signing_key(void) int sign_buffer(struct strbuf *buffer, struct strbuf *signature, const char *signing_key) { struct child_process gpg = CHILD_PROCESS_INIT; - const char *args[4]; ssize_t len; size_t i, j, bottom; - gpg.argv = args; gpg.in = -1; gpg.out = -1; - args[0] = gpg_program; - args[1] = "-bsau"; - args[2] = signing_key; - args[3] = NULL; + argv_array_pushl(&gpg.args, + gpg_program, + "-bsau", signing_key, + NULL); if (start_command(&gpg)) return error(_("could not run gpg.")); @@ -210,13 +208,11 @@ int verify_signed_buffer(const char *payload, size_t payload_size, struct strbuf *gpg_output, struct strbuf *gpg_status) { struct child_process gpg = CHILD_PROCESS_INIT; - const char *args_gpg[] = {NULL, "--status-fd=1", "--verify", "FILE", "-", NULL}; char path[PATH_MAX]; int fd, ret; struct strbuf buf = STRBUF_INIT; struct strbuf *pbuf = &buf; - args_gpg[0] = gpg_program; fd = git_mkstemp(path, PATH_MAX, ".git_vtag_tmpXXXXXX"); if (fd < 0) return error_errno(_("could not create temporary file '%s'"), path); @@ -224,12 +220,15 @@ int verify_signed_buffer(const char *payload, size_t payload_size, return error_errno(_("failed writing detached signature to '%s'"), path); close(fd); - gpg.argv = args_gpg; + argv_array_pushl(&gpg.args, + gpg_program, + "--status-fd=1", + "--verify", path, "-", + NULL); gpg.in = -1; gpg.out = -1; if (gpg_output) gpg.err = -1; - args_gpg[3] = path; if (start_command(&gpg)) { unlink(path); return error(_("could not run gpg.")); |