diff --git a/src/bitcoin.cpp b/src/bitcoin.cpp index c1a5fce33af..7e4d243a01b 100644 --- a/src/bitcoin.cpp +++ b/src/bitcoin.cpp @@ -209,7 +209,7 @@ static void ExecCommand(const std::vector& args, std::string_view w // Try to resolve any symlinks and figure out the directory containing the wrapper executable. std::error_code ec; - fs::path wrapper_dir{fs::weakly_canonical(wrapper_path, ec)}; + auto wrapper_dir{fs::weakly_canonical(wrapper_path, ec)}; if (wrapper_dir.empty()) wrapper_dir = wrapper_path; // Restore previous path if weakly_canonical failed. wrapper_dir = wrapper_dir.parent_path(); @@ -225,7 +225,7 @@ static void ExecCommand(const std::vector& args, std::string_view w // If wrapper is installed in a bin/ directory, look for target executable // in libexec/ - (wrapper_dir.filename() == "bin" && try_exec(fs::path{wrapper_dir.parent_path()} / "libexec" / arg0.filename())) || + (wrapper_dir.filename() == "bin" && try_exec(wrapper_dir.parent_path() / "libexec" / arg0.filename())) || #ifdef WIN32 // Otherwise check the "daemon" subdirectory in a windows install. (!wrapper_dir.empty() && try_exec(wrapper_dir / "daemon" / arg0.filename())) || diff --git a/src/common/settings.cpp b/src/common/settings.cpp index 046afca15d7..fbe531c73a2 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp @@ -78,7 +78,7 @@ bool ReadSettings(const fs::path& path, std::map& va if (!fs::exists(path)) return true; std::ifstream file; - file.open(path); + file.open(path.std_path()); if (!file.is_open()) { errors.emplace_back(strprintf("%s. Please check permissions.", fs::PathToString(path))); return false; @@ -133,7 +133,7 @@ bool WriteSettings(const fs::path& path, out.pushKVEnd(value.first, value.second); } std::ofstream file; - file.open(path); + file.open(path.std_path()); if (file.fail()) { errors.emplace_back(strprintf("Error: Unable to open settings file %s for writing", fs::PathToString(path))); return false; diff --git a/src/rpc/request.cpp b/src/rpc/request.cpp index e07072fd045..df28e4ea3ec 100644 --- a/src/rpc/request.cpp +++ b/src/rpc/request.cpp @@ -114,7 +114,7 @@ GenerateAuthCookieResult GenerateAuthCookie(const std::optional& cook if (filepath_tmp.empty()) { return GenerateAuthCookieResult::DISABLED; // -norpccookiefile } - file.open(filepath_tmp); + file.open(filepath_tmp.std_path()); if (!file.is_open()) { LogWarning("Unable to open cookie authentication file %s for writing", fs::PathToString(filepath_tmp)); return GenerateAuthCookieResult::ERR; @@ -153,7 +153,7 @@ bool GetAuthCookie(std::string *cookie_out) if (filepath.empty()) { return true; // -norpccookiefile } - file.open(filepath); + file.open(filepath.std_path()); if (!file.is_open()) return false; std::getline(file, cookie); diff --git a/src/test/settings_tests.cpp b/src/test/settings_tests.cpp index 95f38fc0ce6..00a566d784e 100644 --- a/src/test/settings_tests.cpp +++ b/src/test/settings_tests.cpp @@ -45,7 +45,7 @@ inline std::ostream& operator<<(std::ostream& os, const std::pair. - // See https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=96e0367ead5d8dcac3bec2865582e76e2fbab190 - path& make_preferred() { std::filesystem::path::make_preferred(); return *this; } - path filename() const { return std::filesystem::path::filename(); } }; static inline path u8path(const std::string& utf8_str) diff --git a/src/wallet/dump.cpp b/src/wallet/dump.cpp index 312753dda10..c63b95b5d84 100644 --- a/src/wallet/dump.cpp +++ b/src/wallet/dump.cpp @@ -37,7 +37,7 @@ bool DumpWallet(const ArgsManager& args, WalletDatabase& db, bilingual_str& erro return false; } std::ofstream dump_file; - dump_file.open(path); + dump_file.open(path.std_path()); if (dump_file.fail()) { error = strprintf(_("Unable to open %s for writing"), fs::PathToString(path)); return false;