Skip to content

Commit ad1e2d2

Browse files
committed
Make int conversions in network.cpp explicit
This fixes compiler conversion warnings, if enabled.
1 parent bb39617 commit ad1e2d2

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

network.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ Network::Network(const std::string &network)
2828

2929
std::memcpy(this->data.data(), &tmpaddr, sizeof(tmpaddr));
3030

31-
uint32_t _netmask = (uint64_t)0xFFFFFFFFu << (32 - maskbits);
31+
const uint64_t bits {0xFFFFFFFFu};
32+
uint32_t _netmask {static_cast<uint32_t>( (bits << (32 - maskbits)) & 0xFFFFFFFFu )};
3233
this->in_mask = htonl(_netmask);
3334

3435
this->family = AF_INET;
@@ -69,18 +70,18 @@ Network::Network(const std::string &network)
6970
}
7071

7172
int m = maskbits;
72-
int i = 0;
73+
size_t i = 0;
7374
const uint64_t x{0xFFFFFFFF00000000};
7475

7576
while (m > 0)
7677
{
7778
int shift_remainder = std::min<int>(m, 32);
78-
uint32_t b = x >> shift_remainder;
79+
const uint32_t b {static_cast<uint32_t>( (x >> shift_remainder) & 0xFFFFFFFFu )};
7980
in6_mask.at(i++) = htonl(b);
8081
m -= 32;
8182
}
8283

83-
for (int i = 0; i < 4; i++)
84+
for (size_t i = 0; i < 4; i++)
8485
{
8586
network_addr_relevant_bits.__in6_u.__u6_addr32[i] = tmpaddr.sin6_addr.__in6_u.__u6_addr32[i] & in6_mask.at(i);
8687
}
@@ -116,7 +117,7 @@ bool Network::match(const sockaddr *addr) const
116117
std::memcpy(&tmp_arg, addr, sizeof(tmp_arg));
117118

118119
struct in6_addr arg_addr_relevant_bits;
119-
for (int i = 0; i < 4; i++)
120+
for (size_t i = 0; i < 4; i++)
120121
{
121122
arg_addr_relevant_bits.__in6_u.__u6_addr32[i] = tmp_arg.sin6_addr.__in6_u.__u6_addr32[i] & in6_mask.at(i);
122123
}

0 commit comments

Comments
 (0)