From 3f683aadcd03c311c1d987ab847a77dbe3fb2bf1 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 16 Jul 2014 11:31:22 +0200 Subject: When making a tempdir for windows unit tests, avoid an extra backslash The extra \ is harmless, but mildly unpleasant. Fixes 12392; bugfix on 0.2.2.25-alpha where we started using GetTempDir(). Based on a patch by Gisle Vanem. --- src/test/test.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/test') diff --git a/src/test/test.c b/src/test/test.c index 8bce9c91f4..429e79ccdc 100644 --- a/src/test/test.c +++ b/src/test/test.c @@ -106,11 +106,18 @@ setup_directory(void) { char buf[MAX_PATH]; const char *tmp = buf; + const char *extra_backslash = ""; /* If this fails, we're probably screwed anyway */ if (!GetTempPathA(sizeof(buf),buf)) - tmp = "c:\\windows\\temp"; + tmp = "c:\\windows\\temp\\"; + if (strcmpend(tmp, "\\")) { + /* According to MSDN, it should be impossible for GetTempPath to give us + * an answer that doesn't end with \. But let's make sure. */ + extra_backslash = "\\"; + } tor_snprintf(temp_dir, sizeof(temp_dir), - "%s\\tor_test_%d_%s", tmp, (int)getpid(), rnd32); + "%s%stor_test_%d_%s", tmp, extra_backslash, + (int)getpid(), rnd32); r = mkdir(temp_dir); } #else -- cgit v1.2.3-54-g00ecf