From 63421489fed1dc55a55e001bd6c8a7e48a2f451f Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 14 Apr 2023 09:31:46 -0500 Subject: [PATCH] refactor: tr_sys_dir_open() takes a std::string_view (#5380) --- libtransmission/blocklist.cc | 2 +- libtransmission/file-posix.cc | 6 ++---- libtransmission/file-win32.cc | 2 +- libtransmission/file.h | 2 +- libtransmission/makemeta.cc | 2 +- libtransmission/session.cc | 2 +- libtransmission/watchdir.cc | 2 +- 7 files changed, 8 insertions(+), 10 deletions(-) diff --git a/libtransmission/blocklist.cc b/libtransmission/blocklist.cc index f89bb4d6c..bc22bbb21 100644 --- a/libtransmission/blocklist.cc +++ b/libtransmission/blocklist.cc @@ -296,7 +296,7 @@ auto getFilenamesInDir(std::string_view folder) { auto files = std::vector{}; - if (auto const odir = tr_sys_dir_open(tr_pathbuf{ folder }); odir != TR_BAD_SYS_DIR) + if (auto const odir = tr_sys_dir_open(folder); odir != TR_BAD_SYS_DIR) { char const* name = nullptr; auto const prefix = std::string{ folder } + '/'; diff --git a/libtransmission/file-posix.cc b/libtransmission/file-posix.cc index d4288b2d4..92ed2a6e5 100644 --- a/libtransmission/file-posix.cc +++ b/libtransmission/file-posix.cc @@ -1205,11 +1205,9 @@ bool tr_sys_dir_create_temp(char* path_template, tr_error** error) return ret; } -tr_sys_dir_t tr_sys_dir_open(char const* path, tr_error** error) +tr_sys_dir_t tr_sys_dir_open(std::string_view path, tr_error** error) { - TR_ASSERT(path != nullptr); - - DIR* ret = opendir(path); + auto* const ret = opendir(tr_pathbuf{ path }); if (ret == nullptr) { diff --git a/libtransmission/file-win32.cc b/libtransmission/file-win32.cc index dc562e4b4..322a51184 100644 --- a/libtransmission/file-win32.cc +++ b/libtransmission/file-win32.cc @@ -1256,7 +1256,7 @@ bool tr_sys_dir_create_temp(char* path_template, tr_error** error) return ret; } -tr_sys_dir_t tr_sys_dir_open(char const* path, tr_error** error) +tr_sys_dir_t tr_sys_dir_open(std::string_view path, tr_error** error) { TR_ASSERT(path != nullptr); diff --git a/libtransmission/file.h b/libtransmission/file.h index 6d19340f2..f416c3185 100644 --- a/libtransmission/file.h +++ b/libtransmission/file.h @@ -584,7 +584,7 @@ bool tr_sys_dir_create_temp(char* path_template, struct tr_error** error = nullp * @return Opened directory descriptor on success, `TR_BAD_SYS_DIR` otherwise * (with `error` set accordingly). */ -tr_sys_dir_t tr_sys_dir_open(char const* path, struct tr_error** error = nullptr); +tr_sys_dir_t tr_sys_dir_open(std::string_view path, struct tr_error** error = nullptr); /** * @brief Portability wrapper for `readdir()`. diff --git a/libtransmission/makemeta.cc b/libtransmission/makemeta.cc index 108b78f1a..e6e899d43 100644 --- a/libtransmission/makemeta.cc +++ b/libtransmission/makemeta.cc @@ -86,7 +86,7 @@ void walkTree(std::string_view const top, std::string_view const subpath, std::s switch (info->type) { case TR_SYS_PATH_IS_DIRECTORY: - if (tr_sys_dir_t odir = tr_sys_dir_open(path.c_str()); odir != TR_BAD_SYS_DIR) + if (tr_sys_dir_t odir = tr_sys_dir_open(path); odir != TR_BAD_SYS_DIR) { for (;;) { diff --git a/libtransmission/session.cc b/libtransmission/session.cc index c8c4168d9..7e8cb6299 100644 --- a/libtransmission/session.cc +++ b/libtransmission/session.cc @@ -1349,7 +1349,7 @@ namespace load_torrents_helpers return {}; } - auto const odir = tr_sys_dir_open(folder.c_str()); + auto const odir = tr_sys_dir_open(folder); if (odir == TR_BAD_SYS_DIR) { return {}; diff --git a/libtransmission/watchdir.cc b/libtransmission/watchdir.cc index 752aa1068..58cb58c48 100644 --- a/libtransmission/watchdir.cc +++ b/libtransmission/watchdir.cc @@ -110,7 +110,7 @@ void BaseWatchdir::processFile(std::string_view basename) void BaseWatchdir::scan() { tr_error* error = nullptr; - auto const dir = tr_sys_dir_open(dirname_.c_str(), &error); + auto const dir = tr_sys_dir_open(dirname_, &error); if (dir == TR_BAD_SYS_DIR) { tr_logAddWarn(fmt::format(