refactor: add readability-else-after-return to clang-tidy (#1956)

* refactor: add readability-else-after-return to clang-tidy
This commit is contained in:
Charles Kerr 2021-10-14 14:26:38 -05:00 committed by GitHub
parent b0f36a9841
commit fd5804fbb7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 133 additions and 178 deletions

View File

@ -7,5 +7,7 @@ Checks: >
modernize-use-default-member-init, modernize-use-default-member-init,
modernize-use-nullptr, modernize-use-nullptr,
modernize-use-override, modernize-use-override,
modernize-use-using modernize-use-using,
readability-avoid-const-params-in-decls,
readability-else-after-return

View File

@ -66,7 +66,7 @@ constexpr std::pair<char*, size_t> buf_append(char* buf, size_t buflen, int n)
} }
template<typename T, typename... ArgTypes> template<typename T, typename... ArgTypes>
constexpr std::pair<char*, size_t> buf_append(char* buf, size_t buflen, T const t, ArgTypes... args) constexpr std::pair<char*, size_t> buf_append(char* buf, size_t buflen, T t, ArgTypes... args)
{ {
std::tie(buf, buflen) = buf_append(buf, buflen, t); std::tie(buf, buflen) = buf_append(buf, buflen, t);
return buf_append(buf, buflen, args...); return buf_append(buf, buflen, args...);

View File

@ -243,13 +243,11 @@ size_t tr_cpMissingBlocksInPiece(tr_completion const* cp, tr_piece_index_t piece
{ {
return 0; return 0;
} }
else
{ auto f = tr_block_index_t{};
tr_block_index_t f; auto l = tr_block_index_t{};
tr_block_index_t l; tr_torGetPieceBlockRange(cp->tor, piece, &f, &l);
tr_torGetPieceBlockRange(cp->tor, piece, &f, &l); return (l + 1 - f) - cp->blockBitfield->countRange(f, l + 1);
return (l + 1 - f) - cp->blockBitfield->countRange(f, l + 1);
}
} }
size_t tr_cpMissingBytesInPiece(tr_completion const* cp, tr_piece_index_t piece) size_t tr_cpMissingBytesInPiece(tr_completion const* cp, tr_piece_index_t piece)
@ -258,31 +256,29 @@ size_t tr_cpMissingBytesInPiece(tr_completion const* cp, tr_piece_index_t piece)
{ {
return 0; return 0;
} }
else
auto f = tr_block_index_t{};
auto l = tr_block_index_t{};
size_t const pieceByteSize = tr_torPieceCountBytes(cp->tor, piece);
tr_torGetPieceBlockRange(cp->tor, piece, &f, &l);
auto haveBytes = size_t{};
if (f != l)
{ {
size_t haveBytes = 0; /* nb: we don't pass the usual l+1 here to Bitfield::countRange().
tr_block_index_t f; It's faster to handle the last block separately because its size
tr_block_index_t l; needs to be checked separately. */
size_t const pieceByteSize = tr_torPieceCountBytes(cp->tor, piece); haveBytes = cp->blockBitfield->countRange(f, l);
tr_torGetPieceBlockRange(cp->tor, piece, &f, &l); haveBytes *= cp->tor->blockSize;
if (f != l)
{
/* nb: we don't pass the usual l+1 here to Bitfield::countRange().
It's faster to handle the last block separately because its size
needs to be checked separately. */
haveBytes = cp->blockBitfield->countRange(f, l);
haveBytes *= cp->tor->blockSize;
}
if (cp->blockBitfield->readBit(l)) /* handle the last block */
{
haveBytes += tr_torBlockCountBytes(cp->tor, l);
}
TR_ASSERT(haveBytes <= pieceByteSize);
return pieceByteSize - haveBytes;
} }
if (cp->blockBitfield->readBit(l)) /* handle the last block */
{
haveBytes += tr_torBlockCountBytes(cp->tor, l);
}
TR_ASSERT(haveBytes <= pieceByteSize);
return pieceByteSize - haveBytes;
} }
bool tr_cpFileIsComplete(tr_completion const* cp, tr_file_index_t i) bool tr_cpFileIsComplete(tr_completion const* cp, tr_file_index_t i)
@ -291,13 +287,11 @@ bool tr_cpFileIsComplete(tr_completion const* cp, tr_file_index_t i)
{ {
return true; return true;
} }
else
{ auto f = tr_block_index_t{};
tr_block_index_t f; auto l = tr_block_index_t{};
tr_block_index_t l; tr_torGetFileBlockRange(cp->tor, i, &f, &l);
tr_torGetFileBlockRange(cp->tor, i, &f, &l); return cp->blockBitfield->countRange(f, l + 1) == (l + 1 - f);
return cp->blockBitfield->countRange(f, l + 1) == (l + 1 - f);
}
} }
void* tr_cpCreatePieceBitfield(tr_completion const* cp, size_t* byte_count) void* tr_cpCreatePieceBitfield(tr_completion const* cp, size_t* byte_count)
@ -340,14 +334,13 @@ double tr_cpPercentComplete(tr_completion const* cp)
{ {
return 0.0; return 0.0;
} }
else if ((int)ratio == TR_RATIO_INF)
if ((int)ratio == TR_RATIO_INF)
{ {
return 1.0; return 1.0;
} }
else
{ return ratio;
return ratio;
}
} }
double tr_cpPercentDone(tr_completion const* cp) double tr_cpPercentDone(tr_completion const* cp)

View File

@ -223,10 +223,8 @@ void* tr_base64_encode(void const* input, size_t input_length, size_t* output_le
return ret; return ret;
} }
else
{ ret = tr_strdup("");
ret = tr_strdup("");
}
} }
else else
{ {
@ -271,10 +269,8 @@ void* tr_base64_decode(void const* input, size_t input_length, size_t* output_le
return ret; return ret;
} }
else
{ ret = tr_strdup("");
ret = tr_strdup("");
}
} }
else else
{ {

View File

@ -659,11 +659,9 @@ static ReadState readHandshake(tr_handshake* handshake, struct evbuffer* inbuf)
dbgmsg(handshake, "peer is trying to connect to us for a torrent we don't have."); dbgmsg(handshake, "peer is trying to connect to us for a torrent we don't have.");
return tr_handshakeDone(handshake, false); return tr_handshakeDone(handshake, false);
} }
else
{ TR_ASSERT(!tr_peerIoHasTorrentHash(handshake->io));
TR_ASSERT(!tr_peerIoHasTorrentHash(handshake->io)); tr_peerIoSetTorrentHash(handshake->io, hash);
tr_peerIoSetTorrentHash(handshake->io, hash);
}
} }
else /* outgoing */ else /* outgoing */
{ {
@ -775,17 +773,14 @@ static ReadState readPadA(tr_handshake* handshake, struct evbuffer* inbuf)
setState(handshake, AWAITING_CRYPTO_PROVIDE); setState(handshake, AWAITING_CRYPTO_PROVIDE);
return READ_NOW; return READ_NOW;
} }
else
size_t const len = evbuffer_get_length(inbuf);
if (len > SHA_DIGEST_LENGTH)
{ {
size_t const len = evbuffer_get_length(inbuf); evbuffer_drain(inbuf, len - SHA_DIGEST_LENGTH);
if (len > SHA_DIGEST_LENGTH)
{
evbuffer_drain(inbuf, len - SHA_DIGEST_LENGTH);
}
return READ_LATER;
} }
return READ_LATER;
} }
static ReadState readCryptoProvide(tr_handshake* handshake, struct evbuffer* inbuf) static ReadState readCryptoProvide(tr_handshake* handshake, struct evbuffer* inbuf)

View File

@ -90,14 +90,8 @@ char const* tr_address_to_string_with_buf(tr_address const* addr, char* buf, siz
{ {
TR_ASSERT(tr_address_is_valid(addr)); TR_ASSERT(tr_address_is_valid(addr));
if (addr->type == TR_AF_INET) return addr->type == TR_AF_INET ? evutil_inet_ntop(AF_INET, &addr->addr, buf, buflen) :
{ evutil_inet_ntop(AF_INET6, &addr->addr, buf, buflen);
return evutil_inet_ntop(AF_INET, &addr->addr, buf, buflen);
}
else
{
return evutil_inet_ntop(AF_INET6, &addr->addr, buf, buflen);
}
} }
/* /*
@ -231,25 +225,21 @@ static socklen_t setup_sockaddr(tr_address const* addr, tr_port port, struct soc
if (addr->type == TR_AF_INET) if (addr->type == TR_AF_INET)
{ {
struct sockaddr_in sock4; sockaddr_in sock4 = {};
memset(&sock4, 0, sizeof(sock4));
sock4.sin_family = AF_INET; sock4.sin_family = AF_INET;
sock4.sin_addr.s_addr = addr->addr.addr4.s_addr; sock4.sin_addr.s_addr = addr->addr.addr4.s_addr;
sock4.sin_port = port; sock4.sin_port = port;
memcpy(sockaddr, &sock4, sizeof(sock4)); memcpy(sockaddr, &sock4, sizeof(sock4));
return sizeof(struct sockaddr_in); return sizeof(struct sockaddr_in);
} }
else
{ sockaddr_in6 sock6 = {};
struct sockaddr_in6 sock6; sock6.sin6_family = AF_INET6;
memset(&sock6, 0, sizeof(sock6)); sock6.sin6_port = port;
sock6.sin6_family = AF_INET6; sock6.sin6_flowinfo = 0;
sock6.sin6_port = port; sock6.sin6_addr = addr->addr.addr6;
sock6.sin6_flowinfo = 0; memcpy(sockaddr, &sock6, sizeof(sock6));
sock6.sin6_addr = addr->addr.addr6; return sizeof(struct sockaddr_in6);
memcpy(sockaddr, &sock6, sizeof(sock6));
return sizeof(struct sockaddr_in6);
}
} }
struct tr_peer_socket tr_netOpenPeerSocket(tr_session* session, tr_address const* addr, tr_port port, bool clientIsSeed) struct tr_peer_socket tr_netOpenPeerSocket(tr_session* session, tr_address const* addr, tr_port port, bool clientIsSeed)
@ -606,17 +596,16 @@ static int global_unicast_address(struct sockaddr_storage* ss)
return 1; return 1;
} }
else if (ss->ss_family == AF_INET6)
if (ss->ss_family == AF_INET6)
{ {
unsigned char const* a = (unsigned char*)&((struct sockaddr_in6*)ss)->sin6_addr; unsigned char const* a = (unsigned char*)&((struct sockaddr_in6*)ss)->sin6_addr;
/* 2000::/3 */ /* 2000::/3 */
return (a[0] & 0xE0) == 0x20 ? 1 : 0; return (a[0] & 0xE0) == 0x20 ? 1 : 0;
} }
else
{ errno = EAFNOSUPPORT;
errno = EAFNOSUPPORT; return -1;
return -1;
}
} }
static int tr_globalAddress(int af, void* addr, int* addr_len) static int tr_globalAddress(int af, void* addr, int* addr_len)

View File

@ -1443,10 +1443,8 @@ int tr_peerIoFlushOutgoingProtocolMsgs(tr_peerIo* io)
{ {
break; break;
} }
else
{ byteCount += it->length;
byteCount += it->length;
}
} }
return tr_peerIoFlush(io, TR_UP, byteCount); return tr_peerIoFlush(io, TR_UP, byteCount);

View File

@ -2643,16 +2643,13 @@ uint64_t tr_peerMgrGetDesiredAvailable(tr_torrent const* tor)
{ {
return 0; return 0;
} }
else
{
tr_peer const** peers = (tr_peer const**)tr_ptrArrayBase(&s->peers);
for (size_t i = 0; i < peer_count; ++i) tr_peer const** const peers = (tr_peer const**)tr_ptrArrayBase(&s->peers);
for (size_t i = 0; i < peer_count; ++i)
{
if (peers[i]->atom != nullptr && atomIsSeed(peers[i]->atom))
{ {
if (peers[i]->atom != nullptr && atomIsSeed(peers[i]->atom)) return tr_torrentGetLeftUntilDone(tor);
{
return tr_torrentGetLeftUntilDone(tor);
}
} }
} }
@ -3147,12 +3144,10 @@ static inline bool isBandwidthMaxedOut(Bandwidth const* b, uint64_t const now_ms
{ {
return false; return false;
} }
else
{ unsigned int const got = b->getPieceSpeedBytesPerSecond(now_msec, dir);
unsigned int const got = b->getPieceSpeedBytesPerSecond(now_msec, dir); unsigned int const want = b->getDesiredSpeedBytesPerSecond(dir);
unsigned int const want = b->getDesiredSpeedBytesPerSecond(dir); return got >= want;
return got >= want;
}
} }
static void rechokeUploads(tr_swarm* s, uint64_t const now) static void rechokeUploads(tr_swarm* s, uint64_t const now)
@ -3662,7 +3657,7 @@ static void enforceSessionPeerLimit(tr_session* session, uint64_t now)
} }
} }
static void makeNewPeerConnections(tr_peerMgr* mgr, int const max); static void makeNewPeerConnections(tr_peerMgr* mgr, int max);
static void reconnectPulse([[maybe_unused]] evutil_socket_t fd, [[maybe_unused]] short what, void* vmgr) static void reconnectPulse([[maybe_unused]] evutil_socket_t fd, [[maybe_unused]] short what, void* vmgr)
{ {
@ -4250,7 +4245,7 @@ static void initiateCandidateConnection(tr_peerMgr* mgr, struct peer_candidate*
initiateConnection(mgr, c->tor->swarm, c->atom); initiateConnection(mgr, c->tor->swarm, c->atom);
} }
static void makeNewPeerConnections(struct tr_peerMgr* mgr, int const max) static void makeNewPeerConnections(struct tr_peerMgr* mgr, int max)
{ {
auto n = int{}; auto n = int{};
struct peer_candidate* candidates = getPeerCandidates(mgr->session, &n, max); struct peer_candidate* candidates = getPeerCandidates(mgr->session, &n, max);

View File

@ -1403,15 +1403,14 @@ static ReadState readBtId(tr_peerMsgsImpl* msgs, struct evbuffer* inbuf, size_t
msgs->state = AWAITING_BT_PIECE; msgs->state = AWAITING_BT_PIECE;
return READ_NOW; return READ_NOW;
} }
else if (msgs->incoming.length != 1)
if (msgs->incoming.length != 1)
{ {
msgs->state = AWAITING_BT_MESSAGE; msgs->state = AWAITING_BT_MESSAGE;
return READ_NOW; return READ_NOW;
} }
else
{ return readBtMessage(msgs, inbuf, inlen - 1);
return readBtMessage(msgs, inbuf, inlen - 1);
}
} }
static void updatePeerProgress(tr_peerMsgsImpl* msgs) static void updatePeerProgress(tr_peerMsgsImpl* msgs)
@ -1555,51 +1554,44 @@ static ReadState readBtPiece(tr_peerMsgsImpl* msgs, struct evbuffer* inbuf, size
dbgmsg(msgs, "got incoming block header %u:%u->%u", req->index, req->offset, req->length); dbgmsg(msgs, "got incoming block header %u:%u->%u", req->index, req->offset, req->length);
return READ_NOW; return READ_NOW;
} }
else
if (msgs->incoming.block == nullptr)
{ {
int err; msgs->incoming.block = evbuffer_new();
size_t n;
size_t nLeft;
struct evbuffer* block_buffer;
if (msgs->incoming.block == nullptr)
{
msgs->incoming.block = evbuffer_new();
}
block_buffer = msgs->incoming.block;
/* read in another chunk of data */
nLeft = req->length - evbuffer_get_length(block_buffer);
n = std::min(nLeft, inlen);
tr_peerIoReadBytesToBuf(msgs->io, inbuf, block_buffer, n);
msgs->publishClientGotPieceData(n);
*setme_piece_bytes_read += n;
dbgmsg(
msgs,
"got %zu bytes for block %u:%u->%u ... %d remain",
n,
req->index,
req->offset,
req->length,
(int)(req->length - evbuffer_get_length(block_buffer)));
if (evbuffer_get_length(block_buffer) < req->length)
{
return READ_LATER;
}
/* pass the block along... */
err = clientGotBlock(msgs, block_buffer, req);
evbuffer_drain(block_buffer, evbuffer_get_length(block_buffer));
/* cleanup */
req->length = 0;
msgs->state = AWAITING_BT_LENGTH;
return err != 0 ? READ_ERR : READ_NOW;
} }
struct evbuffer* const block_buffer = msgs->incoming.block;
/* read in another chunk of data */
size_t const nLeft = req->length - evbuffer_get_length(block_buffer);
size_t const n = std::min(nLeft, inlen);
tr_peerIoReadBytesToBuf(msgs->io, inbuf, block_buffer, n);
msgs->publishClientGotPieceData(n);
*setme_piece_bytes_read += n;
dbgmsg(
msgs,
"got %zu bytes for block %u:%u->%u ... %d remain",
n,
req->index,
req->offset,
req->length,
(int)(req->length - evbuffer_get_length(block_buffer)));
if (evbuffer_get_length(block_buffer) < req->length)
{
return READ_LATER;
}
/* pass the block along... */
int const err = clientGotBlock(msgs, block_buffer, req);
evbuffer_drain(block_buffer, evbuffer_get_length(block_buffer));
/* cleanup */
req->length = 0;
msgs->state = AWAITING_BT_LENGTH;
return err != 0 ? READ_ERR : READ_NOW;
} }
static ReadState readBtMessage(tr_peerMsgsImpl* msgs, struct evbuffer* inbuf, size_t inlen) static ReadState readBtMessage(tr_peerMsgsImpl* msgs, struct evbuffer* inbuf, size_t inlen)

View File

@ -103,14 +103,13 @@ static int bootstrap_af(tr_session* session)
{ {
return AF_INET; return AF_INET;
} }
else if (bootstrap_done(session, AF_INET))
if (bootstrap_done(session, AF_INET))
{ {
return AF_INET6; return AF_INET6;
} }
else
{ return 0;
return 0;
}
} }
static void bootstrap_from_name(char const* name, tr_port port, int af) static void bootstrap_from_name(char const* name, tr_port port, int af)
@ -608,7 +607,8 @@ bool tr_dhtAddNode(tr_session* ss, tr_address const* address, tr_port port, bool
dht_ping_node((struct sockaddr*)&sin, sizeof(sin)); dht_ping_node((struct sockaddr*)&sin, sizeof(sin));
return true; return true;
} }
else if (address->type == TR_AF_INET6)
if (address->type == TR_AF_INET6)
{ {
struct sockaddr_in6 sin6; struct sockaddr_in6 sin6;
memset(&sin6, 0, sizeof(sin6)); memset(&sin6, 0, sizeof(sin6));

View File

@ -592,10 +592,8 @@ static int tr_lpdConsiderAnnounce(tr_pex* peer, char const* const msg)
return 1; return 1;
} }
else
{ tr_logAddNamedDbg("LPD", "Cannot serve torrent #%s", hashString);
tr_logAddNamedDbg("LPD", "Cannot serve torrent #%s", hashString);
}
} }
return res; return res;

View File

@ -240,14 +240,11 @@ int tr_variantParseBenc(void const* buf_in, void const* bufend_in, tr_variant* t
err = EILSEQ; err = EILSEQ;
break; break;
} }
else
{
stack.pop_back();
if (std::empty(stack)) stack.pop_back();
{ if (std::empty(stack))
break; {
} break;
} }
} }
else if (isdigit(*buf)) /* string? */ else if (isdigit(*buf)) /* string? */