// Copyright (c) 2017-2018 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 fs::path GetWalletDir() { fs::path path; if (gArgs.IsArgSet("-walletdir")) { path = gArgs.GetArg("-walletdir", ""); if (!fs::is_directory(path)) { // If the path specified doesn't exist, we return the deliberately // invalid empty string. path = ""; } } else { path = GetDataDir(); // If a wallets directory exists, use that, otherwise default to GetDataDir if (fs::is_directory(path / "wallets")) { path /= "wallets"; } } return path; } WalletLocation::WalletLocation(const std::string& name) : m_name(name) , m_path(fs::absolute(name, GetWalletDir())) { } bool WalletLocation::Exists() const { return fs::symlink_status(m_path).type() != fs::file_not_found; }