aboutsummaryrefslogtreecommitdiff
path: root/src/test/testutil.cpp
diff options
context:
space:
mode:
authorMustafa <mus@musalbas.com>2016-03-11 15:04:05 +0000
committerMustafa <mus@musalbas.com>2016-03-11 15:04:05 +0000
commit2fdaa255295402d24bb16a72b07cc72c9a5df8e4 (patch)
treefa14ad9de0a21b9a1b9fa2203cbb90baed117eee /src/test/testutil.cpp
parent393b22eacb8aff58aaa4da48085f3ea37424ba59 (diff)
Move GetTempPath() to testutil.
Diffstat (limited to 'src/test/testutil.cpp')
-rw-r--r--src/test/testutil.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/testutil.cpp b/src/test/testutil.cpp
index de01228f07..304cffb798 100644
--- a/src/test/testutil.cpp
+++ b/src/test/testutil.cpp
@@ -1,3 +1,33 @@
// Copyright (c) 2009-2016 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#include "testutil.h"
+
+#ifdef WIN32
+#include <shlobj.h>
+#endif
+
+#include <boost/filesystem.hpp>
+
+boost::filesystem::path GetTempPath() {
+#if BOOST_FILESYSTEM_VERSION == 3
+ return boost::filesystem::temp_directory_path();
+#else
+ // TODO: remove when we don't support filesystem v2 anymore
+ boost::filesystem::path path;
+#ifdef WIN32
+ char pszPath[MAX_PATH] = "";
+
+ if (GetTempPathA(MAX_PATH, pszPath))
+ path = boost::filesystem::path(pszPath);
+#else
+ path = boost::filesystem::path("/tmp");
+#endif
+ if (path.empty() || !boost::filesystem::is_directory(path)) {
+ LogPrintf("GetTempPath(): failed to find temp path\n");
+ return boost::filesystem::path("");
+ }
+ return path;
+#endif
+}