diff options
| author | Pieter Wuille <[email protected]> | 2012-11-30 15:56:05 -0800 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2012-11-30 15:56:05 -0800 |
| commit | da26a030b3dd98f64a4cfbfeffe6fa78659b86ce (patch) | |
| tree | a01c9676f2d7fc2ebbf1a192aa0fa01549a135da /src/util.cpp | |
| parent | Merge pull request #2044 from Diapolo/backupwallet (diff) | |
| parent | Make test_bitcoin run in a temp datadir (diff) | |
| download | discoin-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.cpp | 22 |
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()); |