diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-10-24 14:57:53 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-10-24 14:57:54 -0700 |
commit | 217610d7d61864f24efc0ea837dc911be44fd9c6 (patch) | |
tree | ebcbe1cde6d22498c7007a0b3e117e93168378f8 /http-backend.c | |
parent | f35a02b15d22521c4902d8b3434c7c55eeab4a1d (diff) | |
parent | a915459097b72da9cc058172a54029352b684b0f (diff) | |
download | git-217610d7d61864f24efc0ea837dc911be44fd9c6.tar.gz |
Merge branch 'rs/run-command-env-array'
Add managed "env" array to child_process to clarify the lifetime
rules.
* rs/run-command-env-array:
use env_array member of struct child_process
run-command: add env_array, an optional argv_array for env
Diffstat (limited to 'http-backend.c')
-rw-r--r-- | http-backend.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/http-backend.c b/http-backend.c index 9977c5d499..b6c0484fb2 100644 --- a/http-backend.c +++ b/http-backend.c @@ -314,7 +314,6 @@ static void run_service(const char **argv) const char *encoding = getenv("HTTP_CONTENT_ENCODING"); const char *user = getenv("REMOTE_USER"); const char *host = getenv("REMOTE_ADDR"); - struct argv_array env = ARGV_ARRAY_INIT; int gzipped_request = 0; struct child_process cld = CHILD_PROCESS_INIT; @@ -329,13 +328,12 @@ static void run_service(const char **argv) host = "(none)"; if (!getenv("GIT_COMMITTER_NAME")) - argv_array_pushf(&env, "GIT_COMMITTER_NAME=%s", user); + argv_array_pushf(&cld.env_array, "GIT_COMMITTER_NAME=%s", user); if (!getenv("GIT_COMMITTER_EMAIL")) - argv_array_pushf(&env, "GIT_COMMITTER_EMAIL=%s@http.%s", - user, host); + argv_array_pushf(&cld.env_array, + "GIT_COMMITTER_EMAIL=%s@http.%s", user, host); cld.argv = argv; - cld.env = env.argv; if (gzipped_request) cld.in = -1; cld.git_cmd = 1; @@ -350,7 +348,6 @@ static void run_service(const char **argv) if (finish_command(&cld)) exit(1); - argv_array_clear(&env); } static int show_text_ref(const char *name, const unsigned char *sha1, |