aboutsummaryrefslogtreecommitdiff
path: root/src/util.cpp
diff options
context:
space:
mode:
authorPieter Wuille <[email protected]>2012-11-30 15:56:05 -0800
committerPieter Wuille <[email protected]>2012-11-30 15:56:05 -0800
commitda26a030b3dd98f64a4cfbfeffe6fa78659b86ce (patch)
treea01c9676f2d7fc2ebbf1a192aa0fa01549a135da /src/util.cpp
parentMerge pull request #2044 from Diapolo/backupwallet (diff)
parentMake test_bitcoin run in a temp datadir (diff)
downloaddiscoin-da26a030b3dd98f64a4cfbfeffe6fa78659b86ce.tar.xz
discoin-da26a030b3dd98f64a4cfbfeffe6fa78659b86ce.zip
Merge pull request #2049 from sipa/testtmp
Make test_bitcoin run in a temp datadir
Diffstat (limited to 'src/util.cpp')
-rw-r--r--src/util.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 2f36c6606..bd8ad8acd 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1310,6 +1310,28 @@ boost::filesystem::path GetSpecialFolderPath(int nFolder, bool fCreate)
}
#endif
+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)) {
+ printf("GetTempPath(): failed to find temp path\n");
+ return boost::filesystem::path("");
+ }
+ return path;
+#endif
+}
+
void runCommand(std::string strCommand)
{
int nErr = ::system(strCommand.c_str());