[tor-dev] [Patch] src/test.c
Gisle Vanem
gvanem at broadpark.no
Thu Apr 7 22:26:44 UTC 2011
"Nick Mathewson" <nickm at freehaven.net> wrote:
> Sounds fine to me. Alternatively, I believe we could just call
> GetTempPath(): that's what it's there for.
Agreed. I first thought of using GetTempPath() but that involves another
buffer and checking the ret-val. It's safes though. From:
http://msdn.microsoft.com/en-us/library/aa364992(v=vs.85).aspx
The GetTempPath function checks for the existence of environment
variables in the following order and uses the first path found:
1.. The path specified by the TMP environment variable.
2.. The path specified by the TEMP environment variable.
3.. The path specified by the USERPROFILE environment variable.
4.. The Windows directory.
Another patch for this:
--- ../../Git-latest/src/test/test.c 2011-03-30 08:58:28 -0100
+++ test.c 2011-04-07 21:25:51 -0100
@@ -85,9 +85,15 @@
#ifdef MS_WINDOWS
// XXXX
- tor_snprintf(temp_dir, sizeof(temp_dir),
- "c:\\windows\\temp\\tor_test_%d", (int)getpid());
- r = mkdir(temp_dir);
+ {
+ char buf[MAX_PATH], *tmp = buf;
+ /* If this fails, we're probably screwed anyway */
+ if (!GetTempPath(sizeof(buf),buf))
+ tmp = "c:\\windows\\temp";
+ tor_snprintf(temp_dir, sizeof(temp_dir),
+ "%s\\tor_test_%d", tmp, (int)getpid());
+ r = mkdir(temp_dir);
+ }
#else
tor_snprintf(temp_dir, sizeof(temp_dir), "/tmp/tor_test_%d", (int) getpid());
r = mkdir(temp_dir, 0700);
--------------
--gv
More information about the tor-dev
mailing list