summaryrefslogtreecommitdiff
path: root/pager.c
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2014-10-19 13:14:20 +0200
committerJunio C Hamano <gitster@pobox.com>2014-10-19 15:26:34 -0700
commita915459097b72da9cc058172a54029352b684b0f (patch)
tree4e8ba96b870ec7df1227e6819b176f64ca8b0ef7 /pager.c
parent19a583dc39e3e1110f746e837c5ce1953d6ebfa1 (diff)
downloadgit-a915459097b72da9cc058172a54029352b684b0f.tar.gz
use env_array member of struct child_processrs/run-command-env-array
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>
Diffstat (limited to 'pager.c')
-rw-r--r--pager.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/pager.c b/pager.c
index b2b805af98..f6e8c33192 100644
--- a/pager.c
+++ b/pager.c
@@ -74,17 +74,10 @@ void setup_pager(void)
pager_process.use_shell = 1;
pager_process.argv = pager_argv;
pager_process.in = -1;
- if (!getenv("LESS") || !getenv("LV")) {
- static const char *env[3];
- int i = 0;
-
- if (!getenv("LESS"))
- env[i++] = "LESS=FRX";
- if (!getenv("LV"))
- env[i++] = "LV=-c";
- env[i] = NULL;
- pager_process.env = env;
- }
+ if (!getenv("LESS"))
+ argv_array_push(&pager_process.env_array, "LESS=FRX");
+ if (!getenv("LV"))
+ argv_array_push(&pager_process.env_array, "LV=-c");
if (start_command(&pager_process))
return;