From 18fb36367a28819bd5ab402344802796a1248979 Mon Sep 17 00:00:00 2001 From: Ben Woosley Date: Mon, 6 Mar 2023 23:41:46 +0100 Subject: refactor: Extract util/fs_helpers from util/system This is an extraction of filesystem related functions from util/system into their own utility file. The background of this commit is an ongoing effort to decouple the libbitcoinkernel library from the ArgsManager defined in system.h. Moving these functions out of system.h allows including them from a separate source file without including the ArgsManager definitions from system.h. --- src/Makefile.am | 3 + src/addrdb.cpp | 1 + src/dbwrapper.cpp | 2 +- src/flatfile.cpp | 2 +- src/index/blockfilterindex.cpp | 1 + src/init.cpp | 1 + src/init/common.cpp | 1 + src/kernel/mempool_persist.cpp | 2 +- src/qt/guiutil.cpp | 1 + src/qt/intro.cpp | 1 + src/qt/walletframe.cpp | 2 +- src/rpc/request.cpp | 3 +- src/test/fs_tests.cpp | 2 +- src/test/util_tests.cpp | 5 +- src/util/fs_helpers.cpp | 295 +++++++++++++++++++++++++++++++++++++++++ src/util/fs_helpers.h | 63 +++++++++ src/util/system.cpp | 262 +----------------------------------- src/util/system.h | 46 ------- src/validation.cpp | 1 + src/wallet/bdb.cpp | 1 + src/wallet/sqlite.cpp | 2 +- src/wallet/wallet.cpp | 3 +- 22 files changed, 382 insertions(+), 318 deletions(-) create mode 100644 src/util/fs_helpers.cpp create mode 100644 src/util/fs_helpers.h diff --git a/src/Makefile.am b/src/Makefile.am index 53c809c901..9ce9a68501 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -285,6 +285,7 @@ BITCOIN_CORE_H = \ util/exception.h \ util/fastrange.h \ util/fees.h \ + util/fs_helpers.h \ util/getuniquepath.h \ util/golombrice.h \ util/hash_type.h \ @@ -707,6 +708,7 @@ libbitcoin_util_a_SOURCES = \ util/error.cpp \ util/exception.cpp \ util/fees.cpp \ + util/fs_helpers.cpp \ util/getuniquepath.cpp \ util/hasher.cpp \ util/sock.cpp \ @@ -951,6 +953,7 @@ libbitcoinkernel_la_SOURCES = \ uint256.cpp \ util/check.cpp \ util/exception.cpp \ + util/fs_helpers.cpp \ util/getuniquepath.cpp \ util/hasher.cpp \ util/moneystr.cpp \ diff --git a/src/addrdb.cpp b/src/addrdb.cpp index 9ae8244d1c..71da45ad3d 100644 --- a/src/addrdb.cpp +++ b/src/addrdb.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/src/dbwrapper.cpp b/src/dbwrapper.cpp index 0c6debfa80..f6faa60e93 100644 --- a/src/dbwrapper.cpp +++ b/src/dbwrapper.cpp @@ -8,8 +8,8 @@ #include #include #include +#include #include -#include #include #include diff --git a/src/flatfile.cpp b/src/flatfile.cpp index d6e84d02c1..59861a08ad 100644 --- a/src/flatfile.cpp +++ b/src/flatfile.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include FlatFileSeq::FlatFileSeq(fs::path dir, const char* prefix, size_t chunk_size) : m_dir(std::move(dir)), diff --git a/src/index/blockfilterindex.cpp b/src/index/blockfilterindex.cpp index 59bf6d34cf..43c2215338 100644 --- a/src/index/blockfilterindex.cpp +++ b/src/index/blockfilterindex.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/src/init.cpp b/src/init.cpp index 8a45c38ce3..167ed06d60 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -70,6 +70,7 @@ #include #include #include +#include #include #include #include diff --git a/src/init/common.cpp b/src/init/common.cpp index 791424f5f6..216de3aecd 100644 --- a/src/init/common.cpp +++ b/src/init/common.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/src/kernel/mempool_persist.cpp b/src/kernel/mempool_persist.cpp index a14b2e6163..08ca9f8c19 100644 --- a/src/kernel/mempool_persist.cpp +++ b/src/kernel/mempool_persist.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index 83c78d5c18..e15b8d5509 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -21,6 +21,7 @@ #include