mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
use env_array member of struct child_process
Convert users of struct child_process to using the managed env_array for specifying environment variables instead of supplying an array on the stack or bringing their own argv_array. This shortens and simplifies the code and ensures automatically that the allocated memory is freed after use. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
19a583dc39
commit
a915459097
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user