summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Johannes Sixt <johannes.sixt@telecom.at>2008-06-22 11:35:21 +0200
committerLibravatar Johannes Sixt <johannes.sixt@telecom.at>2008-06-26 08:47:16 +0200
commit6fd6aec44fe79dff61fd37a5fec2456c5458b574 (patch)
treedf6e0007c0043e10e7f3ace59775b1b80631f41a
parentWindows: Make 'git help -a' work. (diff)
downloadtgif-6fd6aec44fe79dff61fd37a5fec2456c5458b574.tar.xz
Windows: TMP and TEMP environment variables specify a temporary directory.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
-rw-r--r--compat/mingw.c13
-rw-r--r--compat/mingw.h3
2 files changed, 16 insertions, 0 deletions
diff --git a/compat/mingw.c b/compat/mingw.c
index 28d32969b9..3a05fe7da6 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -366,6 +366,19 @@ char *mingw_getcwd(char *pointer, int len)
return ret;
}
+#undef getenv
+char *mingw_getenv(const char *name)
+{
+ char *result = getenv(name);
+ if (!result && !strcmp(name, "TMPDIR")) {
+ /* on Windows it is TMP and TEMP */
+ result = getenv("TMP");
+ if (!result)
+ result = getenv("TEMP");
+ }
+ return result;
+}
+
/*
* See http://msdn2.microsoft.com/en-us/library/17w5ykft(vs.71).aspx
* (Parsing C++ Command-Line Arguments)
diff --git a/compat/mingw.h b/compat/mingw.h
index 624b32d1f4..a87cc9679c 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -145,6 +145,9 @@ int mingw_open (const char *filename, int oflags, ...);
char *mingw_getcwd(char *pointer, int len);
#define getcwd mingw_getcwd
+char *mingw_getenv(const char *name);
+#define getenv mingw_getenv
+
struct hostent *mingw_gethostbyname(const char *host);
#define gethostbyname mingw_gethostbyname