aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-01-05 13:28:10 -0800
committerJunio C Hamano <gitster@pobox.com>2018-01-05 13:28:10 -0800
commit0956eaa621c98453cda9c9fd55d35d97ddfd3ac6 (patch)
tree978f826e61cf046af6cd57b62a5ef56947e89615
parenta778ba1c71eca2e7f9978bd529efa3f2d393710d (diff)
parenta923e05944271e2aa887721a1d2f24bb418eeca7 (diff)
downloadgit-0956eaa621c98453cda9c9fd55d35d97ddfd3ac6.tar.gz
git-0956eaa621c98453cda9c9fd55d35d97ddfd3ac6.tar.xz
Merge branch 'rs/use-argv-array-in-child-process'
Code cleanup. * rs/use-argv-array-in-child-process: send-pack: use internal argv_array of struct child_process http: use internal argv_array of struct child_process
-rw-r--r--http.c11
-rw-r--r--send-pack.c28
2 files changed, 12 insertions, 27 deletions
diff --git a/http.c b/http.c
index 32d33261c..597771271 100644
--- a/http.c
+++ b/http.c
@@ -2030,7 +2030,6 @@ int finish_http_pack_request(struct http_pack_request *preq)
char *tmp_idx;
size_t len;
struct child_process ip = CHILD_PROCESS_INIT;
- const char *ip_argv[8];
close_pack_index(p);
@@ -2046,13 +2045,9 @@ int finish_http_pack_request(struct http_pack_request *preq)
die("BUG: pack tmpfile does not end in .pack.temp?");
tmp_idx = xstrfmt("%.*s.idx.temp", (int)len, preq->tmpfile);
- ip_argv[0] = "index-pack";
- ip_argv[1] = "-o";
- ip_argv[2] = tmp_idx;
- ip_argv[3] = preq->tmpfile;
- ip_argv[4] = NULL;
-
- ip.argv = ip_argv;
+ argv_array_push(&ip.args, "index-pack");
+ argv_array_pushl(&ip.args, "-o", tmp_idx, NULL);
+ argv_array_push(&ip.args, preq->tmpfile);
ip.git_cmd = 1;
ip.no_stdin = 1;
ip.no_stdout = 1;
diff --git a/send-pack.c b/send-pack.c
index a8cc6b266..2112d3b27 100644
--- a/send-pack.c
+++ b/send-pack.c
@@ -58,35 +58,25 @@ static int pack_objects(int fd, struct ref *refs, struct oid_array *extra, struc
* the revision parameters to it via its stdin and
* let its stdout go back to the other end.
*/
- const char *argv[] = {
- "pack-objects",
- "--all-progress-implied",
- "--revs",
- "--stdout",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- };
struct child_process po = CHILD_PROCESS_INIT;
FILE *po_in;
int i;
int rc;
- i = 4;
+ argv_array_push(&po.args, "pack-objects");
+ argv_array_push(&po.args, "--all-progress-implied");
+ argv_array_push(&po.args, "--revs");
+ argv_array_push(&po.args, "--stdout");
if (args->use_thin_pack)
- argv[i++] = "--thin";
+ argv_array_push(&po.args, "--thin");
if (args->use_ofs_delta)
- argv[i++] = "--delta-base-offset";
+ argv_array_push(&po.args, "--delta-base-offset");
if (args->quiet || !args->progress)
- argv[i++] = "-q";
+ argv_array_push(&po.args, "-q");
if (args->progress)
- argv[i++] = "--progress";
+ argv_array_push(&po.args, "--progress");
if (is_repository_shallow())
- argv[i++] = "--shallow";
- po.argv = argv;
+ argv_array_push(&po.args, "--shallow");
po.in = -1;
po.out = args->stateless_rpc ? -1 : fd;
po.git_cmd = 1;