diff --git a/libtransmission/announcer-common.h b/libtransmission/announcer-common.h index 00fa1d0ad..b2ddf360f 100644 --- a/libtransmission/announcer-common.h +++ b/libtransmission/announcer-common.h @@ -11,6 +11,7 @@ #include #include +#include #include // uint64_t #include #include @@ -145,20 +146,20 @@ struct tr_announce_response * https://www.bittorrent.org/beps/bep_0024.html */ std::optional external_ip; - static constexpr int compare_failed(tr_announce_response const& lhs, tr_announce_response const& rhs) noexcept + static constexpr auto compare_failed(tr_announce_response const& lhs, tr_announce_response const& rhs) noexcept { - if (auto val = tr_compare_3way(lhs.did_connect, rhs.did_connect); val != 0) + if (auto const val = static_cast(lhs.did_connect) <=> static_cast(rhs.did_connect); val != 0) { return val; } - if (auto val = tr_compare_3way(lhs.did_timeout, rhs.did_timeout); val != 0) + if (auto const val = static_cast(rhs.did_timeout) <=> static_cast(lhs.did_timeout); val != 0) { - return -val; + return val; } // Non-empty error message most likely means we reached the tracker - return -tr_compare_3way(std::empty(lhs.errmsg), std::empty(rhs.errmsg)); + return static_cast(std::empty(rhs.errmsg)) <=> static_cast(std::empty(lhs.errmsg)); } };