diff options
author | Johannes Sixt <j6t@kdbg.org> | 2009-09-11 19:45:07 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-09-11 16:35:08 -0700 |
commit | 25fc1786ab147daa9ffa43ebcbaf5c1cc6e50d4f (patch) | |
tree | 13fb38f6e94bfbfc5773c38c86dae4d385ee28b2 /pager.c | |
parent | 2affea4125a0ae6c528a14f14731748c1fad9a8a (diff) | |
download | git-25fc1786ab147daa9ffa43ebcbaf5c1cc6e50d4f.tar.gz |
pager: set LESS=FRSX also on Windows
Previously, this environment variable was set in the pager_preexec
callback, which is conditionally-compiled only on Unix, because it is not,
and cannot be, called on Windows.
With this patch the env member of struct child_process is used to set
the environment variable, which also works on Windows.
Noticed by Alexey Borzenkov.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'pager.c')
-rw-r--r-- | pager.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -21,8 +21,6 @@ static void pager_preexec(void) FD_ZERO(&in); FD_SET(0, &in); select(1, &in, NULL, &in, NULL); - - setenv("LESS", "FRSX", 0); } #endif @@ -70,6 +68,10 @@ void setup_pager(void) pager_argv[2] = pager; pager_process.argv = pager_argv; pager_process.in = -1; + if (!getenv("LESS")) { + static const char *env[] = { "LESS=FRSX", NULL }; + pager_process.env = env; + } #ifndef __MINGW32__ pager_process.preexec_cb = pager_preexec; #endif |