From 90f08f4fa11de3283ed0f06e1692c1effb19ca34 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 5 Aug 2022 20:37:21 -0500 Subject: [PATCH] refactor: fix recent sonarcloud warnings (#3593) --- gtk/Session.cc | 1 + libtransmission/announce-list.cc | 1 + libtransmission/announce-list.h | 2 +- libtransmission/announcer-common.h | 3 ++- libtransmission/announcer-udp.cc | 6 +++--- libtransmission/clients.cc | 3 +-- libtransmission/crypto-utils-openssl.cc | 6 +++--- libtransmission/file-posix.cc | 8 +++----- libtransmission/file.h | 1 - libtransmission/makemeta.h | 2 +- libtransmission/net.cc | 4 +--- libtransmission/rpc-server.cc | 8 ++++---- libtransmission/session.cc | 5 ++--- libtransmission/session.h | 2 +- libtransmission/torrent.h | 2 -- libtransmission/web-utils.h | 3 ++- 16 files changed, 26 insertions(+), 31 deletions(-) diff --git a/gtk/Session.cc b/gtk/Session.cc index 9a9ddb1c1..b995ddd55 100644 --- a/gtk/Session.cc +++ b/gtk/Session.cc @@ -26,6 +26,7 @@ #include #include #include // tr_free(), tr_time() +#include // tr_urlIsValid() #include #include "Actions.h" diff --git a/libtransmission/announce-list.cc b/libtransmission/announce-list.cc index 31f5e4845..47e5f09f1 100644 --- a/libtransmission/announce-list.cc +++ b/libtransmission/announce-list.cc @@ -15,6 +15,7 @@ #include "torrent-metainfo.h" #include "utils.h" #include "variant.h" +#include "web-utils.h" using namespace std::literals; diff --git a/libtransmission/announce-list.h b/libtransmission/announce-list.h index 58120b6be..24571d76e 100644 --- a/libtransmission/announce-list.h +++ b/libtransmission/announce-list.h @@ -15,9 +15,9 @@ #include "quark.h" #include "interned-string.h" -#include "web-utils.h" struct tr_error; +struct tr_url_parsed_t; class tr_announce_list { diff --git a/libtransmission/announcer-common.h b/libtransmission/announcer-common.h index 1304ef4d3..c2c569cf0 100644 --- a/libtransmission/announcer-common.h +++ b/libtransmission/announcer-common.h @@ -21,7 +21,8 @@ #include "interned-string.h" #include "net.h" #include "peer-mgr.h" // tr_pex -#include "web-utils.h" + +struct tr_url_parsed_t; /*** **** SCRAPE diff --git a/libtransmission/announcer-udp.cc b/libtransmission/announcer-udp.cc index 08d018b20..5a32b48b7 100644 --- a/libtransmission/announcer-udp.cc +++ b/libtransmission/announcer-udp.cc @@ -3,9 +3,9 @@ // or any future license endorsed by Mnemosyne LLC. // License text can be found in the licenses/ folder. -#include // std::find_if() -#include /* errno, EAFNOSUPPORT */ -#include /* memset() */ +#include // for std::find_if() +#include // for errno, EAFNOSUPPORT +#include // for memset() #include #include #include diff --git a/libtransmission/clients.cc b/libtransmission/clients.cc index 3d2266be2..fc9636d60 100644 --- a/libtransmission/clients.cc +++ b/libtransmission/clients.cc @@ -180,8 +180,7 @@ constexpr std::string_view charint(char ch) int strint(char const* pch, int span, int base = 10) { auto sv = std::string_view{ pch, static_cast(span) }; - auto const num = tr_parseNum(sv, base); - return num ? *num : 0; + return tr_parseNum(sv, base).value_or(0); } constexpr std::string_view getMnemonicEnd(uint8_t ch) diff --git a/libtransmission/crypto-utils-openssl.cc b/libtransmission/crypto-utils-openssl.cc index 43d231eff..c2d9c9ede 100644 --- a/libtransmission/crypto-utils-openssl.cc +++ b/libtransmission/crypto-utils-openssl.cc @@ -96,18 +96,18 @@ class ShaHelper public: using EvpFunc = decltype((EVP_sha1)); - ShaHelper(EvpFunc evp_func) + explicit ShaHelper(EvpFunc evp_func) : evp_func_{ evp_func } { clear(); } - void clear() + void clear() const { EVP_DigestInit_ex(handle_.get(), evp_func_(), nullptr); } - void update(void const* data, size_t data_length) + void update(void const* data, size_t data_length) const { if (data_length != 0U) { diff --git a/libtransmission/file-posix.cc b/libtransmission/file-posix.cc index 82f37669d..9365bfa84 100644 --- a/libtransmission/file-posix.cc +++ b/libtransmission/file-posix.cc @@ -692,9 +692,7 @@ std::optional tr_sys_file_get_info(tr_sys_file_t handle, tr_er { TR_ASSERT(handle != TR_BAD_SYS_FILE); - struct stat sb; - - if (fstat(handle, &sb) != -1) + if (struct stat sb; fstat(handle, &sb) != -1) { return stat_to_sys_path_info(sb); } @@ -1094,7 +1092,7 @@ bool tr_sys_file_unmap(void const* address, uint64_t size, tr_error** error) TR_ASSERT(address != nullptr); TR_ASSERT(size > 0); - bool const ret = munmap((void*)address, size) != -1; + bool const ret = munmap(const_cast(address), size) != -1; if (!ret) { @@ -1195,7 +1193,7 @@ std::string tr_sys_dir_get_current(tr_error** error) for (;;) { - if (char* ret = getcwd(std::data(buf), std::size(buf)); ret != nullptr) + if (char* const ret = getcwd(std::data(buf), std::size(buf)); ret != nullptr) { return ret; } diff --git a/libtransmission/file.h b/libtransmission/file.h index 707c4d8ab..13f4ba0fa 100644 --- a/libtransmission/file.h +++ b/libtransmission/file.h @@ -17,7 +17,6 @@ #endif #include "tr-macros.h" -#include "tr-strbuf.h" struct tr_error; diff --git a/libtransmission/makemeta.h b/libtransmission/makemeta.h index 6f7e8a02e..294e7efe8 100644 --- a/libtransmission/makemeta.h +++ b/libtransmission/makemeta.h @@ -24,7 +24,7 @@ class tr_metainfo_builder { public: - tr_metainfo_builder(std::string_view single_file_or_parent_directory); + explicit tr_metainfo_builder(std::string_view single_file_or_parent_directory); tr_metainfo_builder(tr_metainfo_builder&&) = delete; tr_metainfo_builder(tr_metainfo_builder const&) = delete; diff --git a/libtransmission/net.cc b/libtransmission/net.cc index 4081e8630..f72f08e80 100644 --- a/libtransmission/net.cc +++ b/libtransmission/net.cc @@ -335,9 +335,7 @@ struct tr_peer_socket tr_netOpenPeerSocket(tr_session* session, tr_address const #endif sockerrno != EINPROGRESS) { - int const tmperrno = sockerrno; - - if ((tmperrno != ENETUNREACH && tmperrno != EHOSTUNREACH) || addr->isIPv4()) + if (auto const tmperrno = sockerrno; (tmperrno != ENETUNREACH && tmperrno != EHOSTUNREACH) || addr->isIPv4()) { tr_logAddWarn(fmt::format( _("Couldn't connect socket {socket} to {address}:{port}: {error} ({error_code})"), diff --git a/libtransmission/rpc-server.cc b/libtransmission/rpc-server.cc index fcb289608..56a2a402d 100644 --- a/libtransmission/rpc-server.cc +++ b/libtransmission/rpc-server.cc @@ -46,6 +46,7 @@ #include "trevent.h" #include "utils.h" #include "variant.h" +#include "web-utils.h" #include "web.h" using namespace std::literals; @@ -168,9 +169,8 @@ static evbuffer* make_response(struct evhttp_request* req, tr_rpc_server* server char const* key = "Accept-Encoding"; char const* encoding = evhttp_find_header(req->input_headers, key); - bool const do_compress = encoding != nullptr && tr_strvContains(encoding, "gzip"sv); - if (!do_compress) + if (bool const do_compress = encoding != nullptr && tr_strvContains(encoding, "gzip"sv); !do_compress) { evbuffer_add(out, std::data(content), std::size(content)); } @@ -220,8 +220,8 @@ static void serve_file(struct evhttp_request* req, tr_rpc_server* server, std::s } auto content = std::vector{}; - tr_error* error = nullptr; - if (!tr_loadFile(filename, content, &error)) + + if (tr_error* error = nullptr; !tr_loadFile(filename, content, &error)) { send_simple_response(req, HTTP_NOTFOUND, fmt::format("{} ({})", filename, error->message).c_str()); tr_error_free(error); diff --git a/libtransmission/session.cc b/libtransmission/session.cc index 735ed2c22..1c5451ecb 100644 --- a/libtransmission/session.cc +++ b/libtransmission/session.cc @@ -11,10 +11,10 @@ #include #include // atoi() #include -#include // std::back_inserter +#include // for std::back_inserter #include #include -#include // std::accumulate() +#include // for std::accumulate() #include #include #include @@ -45,7 +45,6 @@ #include "net.h" #include "peer-io.h" #include "peer-mgr.h" -#include "platform-quota.h" /* tr_device_info_free() */ #include "port-forwarding.h" #include "rpc-server.h" #include "session-id.h" diff --git a/libtransmission/session.h b/libtransmission/session.h index a2b9a2cdb..04c55fefa 100644 --- a/libtransmission/session.h +++ b/libtransmission/session.h @@ -62,7 +62,7 @@ struct tr_fdInfo; struct tr_bindinfo { - tr_bindinfo(tr_address addr) + explicit tr_bindinfo(tr_address addr) : addr_{ std::move(addr) } { } diff --git a/libtransmission/torrent.h b/libtransmission/torrent.h index ac3fe480f..0d3587179 100644 --- a/libtransmission/torrent.h +++ b/libtransmission/torrent.h @@ -23,14 +23,12 @@ #include "bitfield.h" #include "block-info.h" #include "completion.h" -#include "file.h" #include "file-piece-map.h" #include "interned-string.h" #include "log.h" #include "session.h" #include "torrent-metainfo.h" #include "tr-macros.h" -#include "tr-strbuf.h" class tr_swarm; struct tr_error; diff --git a/libtransmission/web-utils.h b/libtransmission/web-utils.h index 76b78caaf..e43c2da8f 100644 --- a/libtransmission/web-utils.h +++ b/libtransmission/web-utils.h @@ -11,8 +11,9 @@ #include #include +#include + #include "tr-macros.h" // tr_sha1_digest_t -#include "tr-strbuf.h" // tr_urlbuf struct evbuffer;