diff options
Diffstat (limited to 'win32')
-rw-r--r-- | win32/env.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/win32/env.c b/win32/env.c index 8e54c4c5e..f30ee62f6 100644 --- a/win32/env.c +++ b/win32/env.c | |||
@@ -6,11 +6,17 @@ | |||
6 | char *mingw_getenv(const char *name) | 6 | char *mingw_getenv(const char *name) |
7 | { | 7 | { |
8 | char *result = getenv(name); | 8 | char *result = getenv(name); |
9 | if (!result && !strcmp(name, "TMPDIR")) { | 9 | if (!result) { |
10 | /* on Windows it is TMP and TEMP */ | 10 | if (!strcmp(name, "TMPDIR")) { |
11 | result = getenv("TMP"); | 11 | /* on Windows it is TMP and TEMP */ |
12 | if (!result) | 12 | result = getenv("TMP"); |
13 | result = getenv("TEMP"); | 13 | if (!result) |
14 | result = getenv("TEMP"); | ||
15 | } else if (!strcmp(name, "HOME")) { | ||
16 | struct passwd *p = getpwuid(getuid()); | ||
17 | if (p) | ||
18 | result = p->pw_dir; | ||
19 | } | ||
14 | } | 20 | } |
15 | return result; | 21 | return result; |
16 | } | 22 | } |