fix: clang-tidy-19 warnings (#6597)
* fix: readability-redundant-casting warnings in libtransmission * fix: readability-avoid-return-with-void-value warnings in libtransmission * fix: readability-redundant-member-init warnings in libtransmission * fix: readability-redundant-inline-specifier warnings in libtransmission * fix: performance-avoid-endl warnings in libtransmission * fix: bugprone-multi-level-implicit-pointer-conversion warnings in libtransmission * fix: bugprone-switch-missing-default-case warnings in libtransmission * fix: readability-redundant-string-cstr warnings in libtransmission * fixup! fix: bugprone-multi-level-implicit-pointer-conversion warnings in libtransmission
This commit is contained in:
parent
54d060cd8e
commit
eeea3c540f
|
@ -319,7 +319,7 @@ void tr_announcerParseHttpAnnounceResponse(tr_announce_response& response, std::
|
||||||
tr_announce_response& response_;
|
tr_announce_response& response_;
|
||||||
std::string_view const log_name_;
|
std::string_view const log_name_;
|
||||||
std::optional<size_t> row_;
|
std::optional<size_t> row_;
|
||||||
tr_pex pex_ = {};
|
tr_pex pex_;
|
||||||
|
|
||||||
explicit AnnounceHandler(tr_announce_response& response, std::string_view log_name)
|
explicit AnnounceHandler(tr_announce_response& response, std::string_view log_name)
|
||||||
: response_{ response }
|
: response_{ response }
|
||||||
|
@ -480,7 +480,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
tr_scrape_response response_ = {};
|
tr_scrape_response response_ = {};
|
||||||
tr_scrape_response_func response_func_ = {};
|
tr_scrape_response_func response_func_;
|
||||||
std::string log_name_;
|
std::string log_name_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -581,13 +581,13 @@ public:
|
||||||
private:
|
private:
|
||||||
Mediator& mediator_;
|
Mediator& mediator_;
|
||||||
|
|
||||||
std::optional<std::future<MaybeSockaddr>> addr_pending_dns_ = {};
|
std::optional<std::future<MaybeSockaddr>> addr_pending_dns_;
|
||||||
|
|
||||||
MaybeSockaddr addr_ = {};
|
MaybeSockaddr addr_;
|
||||||
time_t addr_expires_at_ = 0;
|
time_t addr_expires_at_ = 0;
|
||||||
|
|
||||||
static inline constexpr auto DnsRetryIntervalSecs = time_t{ 3600 };
|
static constexpr auto DnsRetryIntervalSecs = time_t{ 3600 };
|
||||||
static inline constexpr auto ConnectionRequestTtl = int{ 30 };
|
static constexpr auto ConnectionRequestTtl = 30;
|
||||||
};
|
};
|
||||||
|
|
||||||
// --- SESSION
|
// --- SESSION
|
||||||
|
|
|
@ -51,17 +51,17 @@ using namespace std::literals;
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
/* unless the tracker says otherwise, rescrape this frequently */
|
/* unless the tracker says otherwise, rescrape this frequently */
|
||||||
auto constexpr DefaultScrapeIntervalSec = int{ 60 * 30 };
|
auto constexpr DefaultScrapeIntervalSec = 60 * 30;
|
||||||
|
|
||||||
/* the value of the 'numwant' argument passed in tracker requests. */
|
/* the value of the 'numwant' argument passed in tracker requests. */
|
||||||
auto constexpr Numwant = int{ 80 };
|
auto constexpr Numwant = 80;
|
||||||
|
|
||||||
/* how often to announce & scrape */
|
/* how often to announce & scrape */
|
||||||
auto constexpr MaxAnnouncesPerUpkeep = int{ 20 };
|
auto constexpr MaxAnnouncesPerUpkeep = 20;
|
||||||
auto constexpr MaxScrapesPerUpkeep = int{ 20 };
|
auto constexpr MaxScrapesPerUpkeep = 20;
|
||||||
|
|
||||||
/* how many infohashes to remove when we get a scrape-too-long error */
|
/* how many infohashes to remove when we get a scrape-too-long error */
|
||||||
auto constexpr TrMultiscrapeStep = int{ 5 };
|
auto constexpr TrMultiscrapeStep = 5;
|
||||||
|
|
||||||
struct StopsCompare
|
struct StopsCompare
|
||||||
{
|
{
|
||||||
|
@ -524,10 +524,10 @@ struct tr_tier
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// unless the tracker says otherwise, this is the announce interval
|
// unless the tracker says otherwise, this is the announce interval
|
||||||
static auto constexpr DefaultAnnounceIntervalSec = int{ 60 * 10 };
|
static auto constexpr DefaultAnnounceIntervalSec = 60 * 10;
|
||||||
|
|
||||||
// unless the tracker says otherwise, this is the announce min_interval
|
// unless the tracker says otherwise, this is the announce min_interval
|
||||||
static auto constexpr DefaultAnnounceMinIntervalSec = int{ 60 * 2 };
|
static auto constexpr DefaultAnnounceMinIntervalSec = 60 * 2;
|
||||||
|
|
||||||
[[nodiscard]] static time_t getNextScrapeTime(tr_session const* session, tr_tier const* tier, time_t interval_secs)
|
[[nodiscard]] static time_t getNextScrapeTime(tr_session const* session, tr_tier const* tier, time_t interval_secs)
|
||||||
{
|
{
|
||||||
|
|
|
@ -273,7 +273,7 @@ std::string_view tr_sys_path_dirname(std::string_view path)
|
||||||
|
|
||||||
auto const has_root = path[0] == '/';
|
auto const has_root = path[0] == '/';
|
||||||
auto end = std::string_view::npos;
|
auto end = std::string_view::npos;
|
||||||
auto matched_slash = bool{ true };
|
auto matched_slash = true;
|
||||||
|
|
||||||
for (auto i = len - 1; i >= 1U; --i)
|
for (auto i = len - 1; i >= 1U; --i)
|
||||||
{
|
{
|
||||||
|
@ -994,6 +994,10 @@ bool tr_sys_file_lock([[maybe_unused]] tr_sys_file_t handle, [[maybe_unused]] in
|
||||||
case TR_SYS_FILE_LOCK_UN:
|
case TR_SYS_FILE_LOCK_UN:
|
||||||
fl.l_type = F_UNLCK;
|
fl.l_type = F_UNLCK;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
errno = EINVAL;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
fl.l_whence = SEEK_SET;
|
fl.l_whence = SEEK_SET;
|
||||||
|
@ -1128,7 +1132,7 @@ bool tr_sys_dir_create(char const* path, int flags, int permissions, tr_error* e
|
||||||
{
|
{
|
||||||
TR_ASSERT(path != nullptr);
|
TR_ASSERT(path != nullptr);
|
||||||
|
|
||||||
auto ret = bool{ false };
|
auto ret = false;
|
||||||
auto local_error = tr_error{};
|
auto local_error = tr_error{};
|
||||||
|
|
||||||
if ((flags & TR_SYS_DIR_CREATE_PARENTS) != 0)
|
if ((flags & TR_SYS_DIR_CREATE_PARENTS) != 0)
|
||||||
|
|
|
@ -268,7 +268,7 @@ void tr_global_ip_cache::update_source_addr(tr_address_type type) noexcept
|
||||||
|
|
||||||
auto const protocol = tr_ip_protocol_to_sv(type);
|
auto const protocol = tr_ip_protocol_to_sv(type);
|
||||||
|
|
||||||
auto err = int{ 0 };
|
auto err = 0;
|
||||||
auto const& source_addr = get_global_source_address(bind_addr(type), err);
|
auto const& source_addr = get_global_source_address(bind_addr(type), err);
|
||||||
if (source_addr)
|
if (source_addr)
|
||||||
{
|
{
|
||||||
|
|
|
@ -259,7 +259,7 @@ void tr_open_files::close_all()
|
||||||
|
|
||||||
void tr_open_files::close_torrent(tr_torrent_id_t tor_id)
|
void tr_open_files::close_torrent(tr_torrent_id_t tor_id)
|
||||||
{
|
{
|
||||||
return pool_.erase_if([&tor_id](Key const& key, Val const& /*unused*/) { return key.first == tor_id; });
|
pool_.erase_if([&tor_id](Key const& key, Val const& /*unused*/) { return key.first == tor_id; });
|
||||||
}
|
}
|
||||||
|
|
||||||
void tr_open_files::close_file(tr_torrent_id_t tor_id, tr_file_index_t file_num)
|
void tr_open_files::close_file(tr_torrent_id_t tor_id, tr_file_index_t file_num)
|
||||||
|
|
|
@ -372,8 +372,8 @@ void tr_peerIo::can_read_wrapper()
|
||||||
auto const keep_alive = shared_from_this();
|
auto const keep_alive = shared_from_this();
|
||||||
|
|
||||||
auto const now = tr_time_msec();
|
auto const now = tr_time_msec();
|
||||||
auto done = bool{ false };
|
auto done = false;
|
||||||
auto err = bool{ false };
|
auto err = false;
|
||||||
|
|
||||||
// In normal conditions, only continue processing if we still have bandwidth
|
// In normal conditions, only continue processing if we still have bandwidth
|
||||||
// quota for it.
|
// quota for it.
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
using namespace std::literals;
|
using namespace std::literals;
|
||||||
using namespace libtransmission::Values;
|
using namespace libtransmission::Values;
|
||||||
|
|
||||||
static auto constexpr CancelHistorySec = int{ 60 };
|
static auto constexpr CancelHistorySec = 60;
|
||||||
|
|
||||||
// ---
|
// ---
|
||||||
|
|
||||||
|
@ -954,10 +954,10 @@ private:
|
||||||
// ---
|
// ---
|
||||||
|
|
||||||
// number of bad pieces a peer is allowed to send before we ban them
|
// number of bad pieces a peer is allowed to send before we ban them
|
||||||
static auto constexpr MaxBadPiecesPerPeer = int{ 5 };
|
static auto constexpr MaxBadPiecesPerPeer = 5;
|
||||||
|
|
||||||
// how long we'll let requests we've made linger before we cancel them
|
// how long we'll let requests we've made linger before we cancel them
|
||||||
static auto constexpr RequestTtlSecs = int{ 90 };
|
static auto constexpr RequestTtlSecs = 90;
|
||||||
|
|
||||||
std::array<libtransmission::ObserverTag, 8> const tags_;
|
std::array<libtransmission::ObserverTag, 8> const tags_;
|
||||||
|
|
||||||
|
|
|
@ -166,27 +166,27 @@ enum LtepMessageIds : uint8_t
|
||||||
namespace MetadataMsgType
|
namespace MetadataMsgType
|
||||||
{
|
{
|
||||||
|
|
||||||
auto constexpr Request = int{ 0 };
|
auto constexpr Request = 0;
|
||||||
auto constexpr Data = int{ 1 };
|
auto constexpr Data = 1;
|
||||||
auto constexpr Reject = int{ 2 };
|
auto constexpr Reject = 2;
|
||||||
|
|
||||||
} // namespace MetadataMsgType
|
} // namespace MetadataMsgType
|
||||||
|
|
||||||
auto constexpr MinChokePeriodSec = int{ 10 };
|
auto constexpr MinChokePeriodSec = 10;
|
||||||
|
|
||||||
// idle seconds before we send a keepalive
|
// idle seconds before we send a keepalive
|
||||||
auto constexpr KeepaliveIntervalSecs = int{ 100 };
|
auto constexpr KeepaliveIntervalSecs = 100;
|
||||||
|
|
||||||
auto constexpr MetadataReqQ = int{ 64 };
|
auto constexpr MetadataReqQ = 64;
|
||||||
|
|
||||||
auto constexpr ReqQ = int{ 512 };
|
auto constexpr ReqQ = 512;
|
||||||
|
|
||||||
// used in lowering the outMessages queue period
|
// used in lowering the outMessages queue period
|
||||||
|
|
||||||
// when we're making requests from another peer,
|
// when we're making requests from another peer,
|
||||||
// batch them together to send enough requests to
|
// batch them together to send enough requests to
|
||||||
// meet our bandwidth goals for the next N seconds
|
// meet our bandwidth goals for the next N seconds
|
||||||
auto constexpr RequestBufSecs = int{ 10 };
|
auto constexpr RequestBufSecs = 10;
|
||||||
|
|
||||||
// ---
|
// ---
|
||||||
|
|
||||||
|
|
|
@ -112,7 +112,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string unix_socket_path_ = {};
|
std::string unix_socket_path_;
|
||||||
};
|
};
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
@ -576,7 +576,7 @@ void handle_request(struct evhttp_request* req, void* arg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
auto constexpr ServerStartRetryCount = int{ 10 };
|
auto constexpr ServerStartRetryCount = 10;
|
||||||
auto constexpr ServerStartRetryDelayIncrement = 5s;
|
auto constexpr ServerStartRetryDelayIncrement = 5s;
|
||||||
auto constexpr ServerStartRetryMaxDelay = 60s;
|
auto constexpr ServerStartRetryMaxDelay = 60s;
|
||||||
|
|
||||||
|
|
|
@ -69,8 +69,8 @@ struct tr_rpc_idle_data
|
||||||
{
|
{
|
||||||
std::optional<int64_t> tag;
|
std::optional<int64_t> tag;
|
||||||
tr_session* session = nullptr;
|
tr_session* session = nullptr;
|
||||||
tr_variant::Map args_out = {};
|
tr_variant::Map args_out;
|
||||||
tr_rpc_response_func callback = {};
|
tr_rpc_response_func callback;
|
||||||
};
|
};
|
||||||
|
|
||||||
auto constexpr SuccessResult = "success"sv;
|
auto constexpr SuccessResult = "success"sv;
|
||||||
|
|
|
@ -122,7 +122,7 @@ bool tr_session_id::is_local(std::string_view session_id) noexcept
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto is_local = bool{ false };
|
auto is_local = false;
|
||||||
auto lockfile_path = tr_pathbuf{};
|
auto lockfile_path = tr_pathbuf{};
|
||||||
get_lockfile_path(session_id, lockfile_path);
|
get_lockfile_path(session_id, lockfile_path);
|
||||||
auto error = tr_error{};
|
auto error = tr_error{};
|
||||||
|
|
|
@ -193,7 +193,7 @@ tr_peer_id_t tr_peerIdInit()
|
||||||
|
|
||||||
// remainder is randomly-generated characters
|
// remainder is randomly-generated characters
|
||||||
auto constexpr Pool = std::string_view{ "0123456789abcdefghijklmnopqrstuvwxyz" };
|
auto constexpr Pool = std::string_view{ "0123456789abcdefghijklmnopqrstuvwxyz" };
|
||||||
auto total = int{ 0 };
|
auto total = 0;
|
||||||
tr_rand_buffer(it, end - it);
|
tr_rand_buffer(it, end - it);
|
||||||
while (it + 1 < end)
|
while (it + 1 < end)
|
||||||
{
|
{
|
||||||
|
|
|
@ -157,12 +157,12 @@ void tr_ctorSetPeerLimit(tr_ctor* const ctor, tr_ctorMode const mode, uint16_t c
|
||||||
|
|
||||||
void tr_ctorSetDownloadDir(tr_ctor* const ctor, tr_ctorMode const mode, char const* const dir)
|
void tr_ctorSetDownloadDir(tr_ctor* const ctor, tr_ctorMode const mode, char const* const dir)
|
||||||
{
|
{
|
||||||
return ctor->set_download_dir(mode, std::string_view{ dir != nullptr ? dir : "" });
|
ctor->set_download_dir(mode, std::string_view{ dir != nullptr ? dir : "" });
|
||||||
}
|
}
|
||||||
|
|
||||||
void tr_ctorSetIncompleteDir(tr_ctor* const ctor, char const* const dir)
|
void tr_ctorSetIncompleteDir(tr_ctor* const ctor, char const* const dir)
|
||||||
{
|
{
|
||||||
return ctor->set_incomplete_dir(std::string_view{ dir != nullptr ? dir : "" });
|
ctor->set_incomplete_dir(std::string_view{ dir != nullptr ? dir : "" });
|
||||||
}
|
}
|
||||||
|
|
||||||
bool tr_ctorGetPeerLimit(tr_ctor const* const ctor, tr_ctorMode const mode, uint16_t* const setme)
|
bool tr_ctorGetPeerLimit(tr_ctor const* const ctor, tr_ctorMode const mode, uint16_t* const setme)
|
||||||
|
|
|
@ -194,7 +194,7 @@ struct MetainfoHandler final : public transmission::benc::BasicHandler<MaxBencDe
|
||||||
|
|
||||||
bool Int64(int64_t value, Context const& /*context*/) override
|
bool Int64(int64_t value, Context const& /*context*/) override
|
||||||
{
|
{
|
||||||
auto unhandled = bool{ false };
|
auto unhandled = false;
|
||||||
|
|
||||||
if (state_ == State::FilesIgnored)
|
if (state_ == State::FilesIgnored)
|
||||||
{
|
{
|
||||||
|
@ -272,7 +272,7 @@ struct MetainfoHandler final : public transmission::benc::BasicHandler<MaxBencDe
|
||||||
{
|
{
|
||||||
auto const curdepth = depth();
|
auto const curdepth = depth();
|
||||||
auto const current_key = currentKey();
|
auto const current_key = currentKey();
|
||||||
auto unhandled = bool{ false };
|
auto unhandled = false;
|
||||||
|
|
||||||
if (state_ == State::FilesIgnored)
|
if (state_ == State::FilesIgnored)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1101,7 +1101,7 @@ void tr_torrent::set_location_in_session_thread(std::string_view const path, boo
|
||||||
{
|
{
|
||||||
TR_ASSERT(session->am_in_session_thread());
|
TR_ASSERT(session->am_in_session_thread());
|
||||||
|
|
||||||
auto ok = bool{ true };
|
auto ok = true;
|
||||||
if (move_from_old_path)
|
if (move_from_old_path)
|
||||||
{
|
{
|
||||||
if (setme_state != nullptr)
|
if (setme_state != nullptr)
|
||||||
|
@ -1513,7 +1513,7 @@ void tr_torrentAvailability(tr_torrent const* tor, int8_t* tab, int size)
|
||||||
|
|
||||||
void tr_torrentAmountFinished(tr_torrent const* tor, float* tabs, int n_tabs)
|
void tr_torrentAmountFinished(tr_torrent const* tor, float* tabs, int n_tabs)
|
||||||
{
|
{
|
||||||
return tor->amount_done_bins(tabs, n_tabs);
|
tor->amount_done_bins(tabs, n_tabs);
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- Start/Stop Callback
|
// --- Start/Stop Callback
|
||||||
|
@ -2459,7 +2459,7 @@ void tr_torrent::rename_path_in_session_thread(
|
||||||
{
|
{
|
||||||
using namespace rename_helpers;
|
using namespace rename_helpers;
|
||||||
|
|
||||||
auto error = int{ 0 };
|
auto error = 0;
|
||||||
|
|
||||||
if (!renameArgsAreValid(this, oldpath, newname))
|
if (!renameArgsAreValid(this, oldpath, newname))
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
[[noreturn]] bool tr_assert_report(std::string_view file, long line, std::string_view message)
|
[[noreturn]] bool tr_assert_report(std::string_view file, long line, std::string_view message)
|
||||||
{
|
{
|
||||||
std::cerr << "assertion failed: " << message << " (" << file << ':' << line << ')' << std::endl;
|
std::cerr << "assertion failed: " << message << " (" << file << ':' << line << ")\n";
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -411,7 +411,7 @@ private:
|
||||||
|
|
||||||
void save_state() const
|
void save_state() const
|
||||||
{
|
{
|
||||||
static auto constexpr MaxNodes = int{ 300 };
|
static auto constexpr MaxNodes = 300;
|
||||||
static auto constexpr PortLen = tr_port::CompactPortBytes;
|
static auto constexpr PortLen = tr_port::CompactPortBytes;
|
||||||
static auto constexpr CompactAddrLen = tr_address::CompactAddrBytes[TR_AF_INET];
|
static auto constexpr CompactAddrLen = tr_address::CompactAddrBytes[TR_AF_INET];
|
||||||
static auto constexpr CompactLen = tr_socket_address::CompactSockAddrBytes[TR_AF_INET];
|
static auto constexpr CompactLen = tr_socket_address::CompactSockAddrBytes[TR_AF_INET];
|
||||||
|
|
|
@ -269,7 +269,7 @@ private:
|
||||||
*/
|
*/
|
||||||
bool initImpl(struct event_base* event_base)
|
bool initImpl(struct event_base* event_base)
|
||||||
{
|
{
|
||||||
auto const opt_on = int{ 1 };
|
auto const opt_on = 1;
|
||||||
|
|
||||||
static_assert(AnnounceScope > 0);
|
static_assert(AnnounceScope > 0);
|
||||||
|
|
||||||
|
@ -543,14 +543,14 @@ private:
|
||||||
// bogus data. Better to drop a few packets than get DoS'ed.
|
// bogus data. Better to drop a few packets than get DoS'ed.
|
||||||
static auto constexpr DosInterval = 5s;
|
static auto constexpr DosInterval = 5s;
|
||||||
std::unique_ptr<libtransmission::Timer> dos_timer_;
|
std::unique_ptr<libtransmission::Timer> dos_timer_;
|
||||||
static auto constexpr MaxIncomingPerSecond = int{ 10 };
|
static auto constexpr MaxIncomingPerSecond = 10;
|
||||||
static auto constexpr MaxIncomingPerUpkeep = std::chrono::duration_cast<std::chrono::seconds>(DosInterval).count() *
|
static auto constexpr MaxIncomingPerUpkeep = std::chrono::duration_cast<std::chrono::seconds>(DosInterval).count() *
|
||||||
MaxIncomingPerSecond;
|
MaxIncomingPerSecond;
|
||||||
// @brief throw away messages after this number exceeds MaxIncomingPerUpkeep
|
// @brief throw away messages after this number exceeds MaxIncomingPerUpkeep
|
||||||
size_t messages_received_since_upkeep_ = 0U;
|
size_t messages_received_since_upkeep_ = 0U;
|
||||||
|
|
||||||
static auto constexpr TorrentAnnounceIntervalSec = time_t{ 240U }; // how frequently to reannounce the same torrent
|
static auto constexpr TorrentAnnounceIntervalSec = time_t{ 240U }; // how frequently to reannounce the same torrent
|
||||||
static auto constexpr TtlSameSubnet = int{ 1 };
|
static auto constexpr TtlSameSubnet = 1;
|
||||||
static auto constexpr AnnounceScope = int{ TtlSameSubnet }; /**<the maximum scope for LPD datagrams */
|
static auto constexpr AnnounceScope = int{ TtlSameSubnet }; /**<the maximum scope for LPD datagrams */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -152,7 +152,7 @@ tr_session::tr_udp_core::tr_udp_core(tr_session& session, tr_port udp_port)
|
||||||
|
|
||||||
if (auto sock = socket(PF_INET, SOCK_DGRAM, 0); sock != TR_BAD_SOCKET)
|
if (auto sock = socket(PF_INET, SOCK_DGRAM, 0); sock != TR_BAD_SOCKET)
|
||||||
{
|
{
|
||||||
auto optval = int{ 1 };
|
auto optval = 1;
|
||||||
(void)setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast<char const*>(&optval), sizeof(optval));
|
(void)setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast<char const*>(&optval), sizeof(optval));
|
||||||
|
|
||||||
auto const addr = session_.bind_address(TR_AF_INET);
|
auto const addr = session_.bind_address(TR_AF_INET);
|
||||||
|
@ -186,7 +186,7 @@ tr_session::tr_udp_core::tr_udp_core(tr_session& session, tr_port udp_port)
|
||||||
}
|
}
|
||||||
else if (auto sock = socket(PF_INET6, SOCK_DGRAM, 0); sock != TR_BAD_SOCKET)
|
else if (auto sock = socket(PF_INET6, SOCK_DGRAM, 0); sock != TR_BAD_SOCKET)
|
||||||
{
|
{
|
||||||
auto optval = int{ 1 };
|
auto optval = 1;
|
||||||
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast<char const*>(&optval), sizeof(optval));
|
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast<char const*>(&optval), sizeof(optval));
|
||||||
|
|
||||||
auto const addr = session_.bind_address(TR_AF_INET6);
|
auto const addr = session_.bind_address(TR_AF_INET6);
|
||||||
|
|
|
@ -183,7 +183,7 @@ bool tr_file_save(std::string_view filename, std::string_view contents, tr_error
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save the contents. This might take >1 pass.
|
// Save the contents. This might take >1 pass.
|
||||||
auto ok = bool{ true };
|
auto ok = true;
|
||||||
while (!std::empty(contents))
|
while (!std::empty(contents))
|
||||||
{
|
{
|
||||||
auto n_written = uint64_t{};
|
auto n_written = uint64_t{};
|
||||||
|
|
|
@ -182,7 +182,7 @@ private:
|
||||||
|
|
||||||
// NB: `name` may have extra trailing zeroes from inotify;
|
// NB: `name` may have extra trailing zeroes from inotify;
|
||||||
// pass the c_str() so that processFile gets the right strlen
|
// pass the c_str() so that processFile gets the right strlen
|
||||||
processFile(name.c_str());
|
processFile(std::data(name));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -736,7 +736,7 @@ public:
|
||||||
auto* const e = msg->easy_handle;
|
auto* const e = msg->easy_handle;
|
||||||
|
|
||||||
Task* task = nullptr;
|
Task* task = nullptr;
|
||||||
curl_easy_getinfo(e, CURLINFO_PRIVATE, (void*)&task);
|
curl_easy_getinfo(e, CURLINFO_PRIVATE, &task);
|
||||||
|
|
||||||
auto req_bytes_sent = long{};
|
auto req_bytes_sent = long{};
|
||||||
auto total_time = double{};
|
auto total_time = double{};
|
||||||
|
|
Loading…
Reference in New Issue