diff options
author | Karsten Blees <blees@dcon.de> | 2016-01-26 15:34:38 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-01-26 13:42:59 -0800 |
commit | 02e6edc082969c3f52ea954e71b391410632dfba (patch) | |
tree | 455a8f06e2b52f4693e82f4f060145c7736b1525 | |
parent | Git.pm: stop assuming that absolute paths start with a slash (diff) | |
download | tgif-02e6edc082969c3f52ea954e71b391410632dfba.tar.xz |
mingw: factor out Windows specific environment setup
We will add more environment-related code to that new function
in the next patch.
Signed-off-by: Karsten Blees <blees@dcon.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | compat/mingw.c | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/compat/mingw.c b/compat/mingw.c index 7115e4e09e..b592000f58 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -2044,6 +2044,22 @@ int xwcstoutf(char *utf, const wchar_t *wcs, size_t utflen) return -1; } +static void setup_windows_environment() +{ + /* on Windows it is TMP and TEMP */ + if (!getenv("TMPDIR")) { + const char *tmp = getenv("TMP"); + if (!tmp) + tmp = getenv("TEMP"); + if (tmp) + setenv("TMPDIR", tmp, 1); + } + + /* simulate TERM to enable auto-color (see color.c) */ + if (!getenv("TERM")) + setenv("TERM", "cygwin", 1); +} + /* * Disable MSVCRT command line wildcard expansion (__getmainargs called from * mingw startup code, see init.c in mingw runtime). @@ -2122,19 +2138,7 @@ void mingw_startup() qsort(environ, i, sizeof(char*), compareenv); /* fix Windows specific environment settings */ - - /* on Windows it is TMP and TEMP */ - if (!mingw_getenv("TMPDIR")) { - const char *tmp = mingw_getenv("TMP"); - if (!tmp) - tmp = mingw_getenv("TEMP"); - if (tmp) - setenv("TMPDIR", tmp, 1); - } - - /* simulate TERM to enable auto-color (see color.c) */ - if (!getenv("TERM")) - setenv("TERM", "cygwin", 1); + setup_windows_environment(); /* initialize critical section for waitpid pinfo_t list */ InitializeCriticalSection(&pinfo_cs); |