aboutsummaryrefslogtreecommitdiff
path: root/src/fs.h
diff options
context:
space:
mode:
authorKiminuo <kiminuo@protonmail.com>2021-01-13 15:44:40 +0100
committerKiminuo <kiminuo@protonmail.com>2021-01-15 22:48:15 +0100
commitda9caa1cedd69702aea44cb44b2fd0a2d6d56916 (patch)
treefc2198dea8c7c5f0cd91b7df259afd1a4c90efd7 /src/fs.h
parent66576c4fd532ac18b8b355ea93d25581a2c15654 (diff)
downloadbitcoin-da9caa1cedd69702aea44cb44b2fd0a2d6d56916.tar.xz
Replace fs::absolute calls with AbsPathJoin calls
This adds better test coverage and will make it easier in #20744 to remove our dependency on the two-argument boost::filesystem::absolute() function which does not have a direct equivalent in C++17.
Diffstat (limited to 'src/fs.h')
-rw-r--r--src/fs.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/fs.h b/src/fs.h
index dfbecc18e6..d77b90be66 100644
--- a/src/fs.h
+++ b/src/fs.h
@@ -21,6 +21,17 @@ namespace fs = boost::filesystem;
namespace fsbridge {
FILE *fopen(const fs::path& p, const char *mode);
+ /**
+ * Helper function for joining two paths
+ *
+ * @param[in] base Base path
+ * @param[in] path Path to combine with base
+ * @returns path unchanged if it is an absolute path, otherwise returns base joined with path. Returns base unchanged if path is empty.
+ * @pre Base path must be absolute
+ * @post Returned path will always be absolute
+ */
+ fs::path AbsPathJoin(const fs::path& base, const fs::path& path);
+
class FileLock
{
public: