[tor-commits] [tor/master] When making a tempdir for windows unit tests, avoid an extra backslash

nickm at torproject.org nickm at torproject.org
Wed Jul 16 09:39:13 UTC 2014


commit 3f683aadcd03c311c1d987ab847a77dbe3fb2bf1
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Jul 16 11:31:22 2014 +0200

    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(-)

diff --git a/src/test/test.c b/src/test/test.c
index 8bce9c9..429e79c 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



More information about the tor-commits mailing list