fixed a few warnings related to signed/unsigned conversions (#1338)

fixed a few warnings related to signed/unsigned conversions
This commit is contained in:
Alden Torres 2016-11-19 21:14:16 -05:00 committed by Arvid Norberg
parent 998daf6e0e
commit a59350687a
15 changed files with 32 additions and 44 deletions

View File

@ -86,5 +86,7 @@ POSSIBILITY OF SUCH DAMAGE.
#ifdef _MSC_VER
#pragma warning(push, 1)
// warning C4005: macro redefinition
#pragma warning( disable : 4005 )
#pragma warning(disable : 4005)
// expression before comma has no effect; expected expression with side-effect
#pragma warning(disable : 4548)
#endif

View File

@ -57,7 +57,7 @@ struct suggest_piece
// is we add any piece to the result (p), the farther back the better.
// the prioritization in p is the same, which means we have to first push
// back and then reverse the items we put there.
for (int i = int(m_priority_pieces.size())-1; i >= 0; --i)
for (int i = int(m_priority_pieces.size()) - 1; i >= 0; --i)
{
int const piece = m_priority_pieces[i];
if (bits.get_bit(piece)) continue;
@ -126,4 +126,3 @@ private:
}}
#endif

View File

@ -187,7 +187,7 @@ struct bdecode_token
: offset(off)
, type(t)
, next_item(next)
, header(type == string ? header_size - 2 : 0)
, header(type == string ? std::uint32_t(header_size - 2) : 0)
{
TORRENT_ASSERT(type != string || header_size >= 2);
TORRENT_ASSERT(off <= max_offset);
@ -197,7 +197,7 @@ struct bdecode_token
TORRENT_ASSERT(t >= 0 && t <= end);
}
int start_offset() const { TORRENT_ASSERT(type == string); return header + 2; }
int start_offset() const { TORRENT_ASSERT(type == string); return int(header) + 2; }
// offset into the bdecoded buffer where this node is
std::uint32_t offset:29;

View File

@ -544,7 +544,7 @@ POSSIBILITY OF SUCH DAMAGE.
#define __has_builtin(x) 0 // for non-clang compilers
#endif
#if (TORRENT_HAS_SSE && __GNUC__)
#if (TORRENT_HAS_SSE && defined __GNUC__)
# define TORRENT_HAS_BUILTIN_CLZ 1
#elif (TORRENT_HAS_ARM && defined __GNUC__ && !defined __clang__)
# define TORRENT_HAS_BUILTIN_CLZ 1
@ -554,7 +554,7 @@ POSSIBILITY OF SUCH DAMAGE.
# define TORRENT_HAS_BUILTIN_CLZ 0
#endif // TORRENT_HAS_BUILTIN_CLZ
#if (TORRENT_HAS_SSE && __GNUC__)
#if (TORRENT_HAS_SSE && defined __GNUC__)
# define TORRENT_HAS_BUILTIN_CTZ 1
#elif (TORRENT_HAS_ARM && defined __GNUC__ && !defined __clang__)
# define TORRENT_HAS_BUILTIN_CTZ 1

View File

@ -73,4 +73,3 @@ namespace libtorrent
}
#endif

View File

@ -201,7 +201,7 @@ namespace libtorrent
bool has_peer(torrent_peer const* p) const;
int num_seeds() const { return m_num_seeds; }
int num_seeds() const { return int(m_num_seeds); }
int num_connect_candidates() const { return m_num_connect_candidates; }
void erase_peer(torrent_peer* p, torrent_state* state);
@ -280,4 +280,3 @@ namespace libtorrent
}
#endif // TORRENT_POLICY_HPP_INCLUDED

View File

@ -503,7 +503,7 @@ namespace libtorrent
return piece_downloading;
if (download_state == piece_full_reverse)
return piece_full;
return download_state;
return int(download_state);
}
bool reverse() const
@ -808,4 +808,3 @@ namespace libtorrent
}
#endif // TORRENT_PIECE_PICKER_HPP_INCLUDED

View File

@ -103,7 +103,7 @@ struct average_accumulator
// let the average roll over, but only be worth a
// single sample
m_num_samples = 1;
m_sample_sum = ret;
m_sample_sum = std::uint64_t(ret);
return ret;
}
@ -116,4 +116,3 @@ private:
}
#endif

View File

@ -144,7 +144,7 @@ namespace libtorrent
#else
using tos_t = int;
#endif
explicit type_of_service(char val): m_value(val) {}
explicit type_of_service(char val) : m_value(tos_t(val)) {}
template<class Protocol>
int level(Protocol const&) const { return IPPROTO_IP; }
template<class Protocol>

View File

@ -34,12 +34,9 @@ POSSIBILITY OF SUCH DAMAGE.
#define TORRENT_STAT_HPP_INCLUDED
#include <algorithm>
#include <vector>
#include <cstring>
#include <limits>
#include <cstdint>
#include "libtorrent/invariant_check.hpp"
#include "libtorrent/config.hpp"
#include "libtorrent/assert.hpp"
@ -57,9 +54,9 @@ namespace libtorrent
void operator+=(stat_channel const& s)
{
TORRENT_ASSERT(m_counter < (std::numeric_limits<std::uint32_t>::max)() - s.m_counter);
TORRENT_ASSERT(m_counter < (std::numeric_limits<std::int32_t>::max)() - s.m_counter);
m_counter += s.m_counter;
TORRENT_ASSERT(m_total_counter < (std::numeric_limits<std::uint64_t>::max)() - s.m_counter);
TORRENT_ASSERT(m_total_counter < (std::numeric_limits<std::int64_t>::max)() - s.m_counter);
m_total_counter += s.m_counter;
}
@ -67,26 +64,26 @@ namespace libtorrent
{
TORRENT_ASSERT(count >= 0);
TORRENT_ASSERT(m_counter < (std::numeric_limits<std::uint32_t>::max)() - count);
TORRENT_ASSERT(m_counter < (std::numeric_limits<std::int32_t>::max)() - count);
m_counter += count;
TORRENT_ASSERT(m_total_counter < (std::numeric_limits<std::uint64_t>::max)() - count);
TORRENT_ASSERT(m_total_counter < (std::numeric_limits<std::int64_t>::max)() - count);
m_total_counter += count;
}
// should be called once every second
void second_tick(int tick_interval_ms);
int rate() const { return m_5_sec_average; }
int low_pass_rate() const { return m_5_sec_average; }
std::int32_t rate() const { return m_5_sec_average; }
std::int32_t low_pass_rate() const { return m_5_sec_average; }
std::int64_t total() const { return m_total_counter; }
void offset(std::int64_t c)
{
TORRENT_ASSERT(m_total_counter < (std::numeric_limits<std::uint64_t>::max)() - c);
TORRENT_ASSERT(m_total_counter < (std::numeric_limits<std::int64_t>::max)() - c);
m_total_counter += c;
}
int counter() const { return m_counter; }
std::int32_t counter() const { return m_counter; }
void clear()
{
@ -98,18 +95,17 @@ namespace libtorrent
private:
// total counters
std::uint64_t m_total_counter;
std::int64_t m_total_counter;
// the accumulator for this second.
std::uint32_t m_counter;
std::int32_t m_counter;
// sliding average
std::uint32_t m_5_sec_average;
std::int32_t m_5_sec_average;
};
class TORRENT_EXTRA_EXPORT stat
{
friend class invariant_access;
public:
void operator+=(const stat& s)
{
@ -285,4 +281,3 @@ namespace libtorrent
}
#endif // TORRENT_STAT_HPP_INCLUDED

View File

@ -381,7 +381,7 @@ namespace libtorrent
, peer_request p);
void on_disk_tick_done(disk_io_job const* j);
void set_progress_ppm(int p) { m_progress_ppm = p; }
void set_progress_ppm(int p) { m_progress_ppm = std::uint32_t(p); }
struct read_piece_struct
{
boost::shared_array<char> piece_data;
@ -566,9 +566,9 @@ namespace libtorrent
peer_class_t peer_class() const { return peer_class_t(m_peer_class); }
void set_max_uploads(int limit, bool state_update = true);
int max_uploads() const { return m_max_uploads; }
int max_uploads() const { return int(m_max_uploads); }
void set_max_connections(int limit, bool state_update = true);
int max_connections() const { return m_max_connections; }
int max_connections() const { return int(m_max_connections); }
// --------------------------------------------
// PEER MANAGEMENT
@ -1615,7 +1615,7 @@ namespace libtorrent
// progress parts per million (the number of
// millionths of completeness)
unsigned int m_progress_ppm:20;
std::uint32_t m_progress_ppm:20;
#if TORRENT_USE_ASSERTS
// set to true when torrent is start()ed. It may only be started once

View File

@ -143,7 +143,7 @@ namespace libtorrent
private:
#if TORRENT_USE_IPV6
// the type of the addr union
unsigned is_v6_addr:1;
bool is_v6_addr:1;
#endif
};

View File

@ -605,7 +605,7 @@ namespace libtorrent
sha1_hash m_info_hash;
// the number of bytes in m_info_section
std::uint32_t m_info_section_size = 0;
std::int32_t m_info_section_size = 0;
// the index to the first leaf. This is where the hash for the
// first piece is stored

View File

@ -30,20 +30,16 @@ POSSIBILITY OF SUCH DAMAGE.
*/
#include <numeric>
#include <algorithm>
#include "libtorrent/stat.hpp"
namespace libtorrent {
void stat_channel::second_tick(int tick_interval_ms)
{
int sample = int(std::int64_t(m_counter) * 1000 / tick_interval_ms);
std::int64_t sample = std::int64_t(m_counter) * 1000 / tick_interval_ms;
TORRENT_ASSERT(sample >= 0);
m_5_sec_average = std::int64_t(m_5_sec_average) * 4 / 5 + sample / 5;
m_5_sec_average = std::int32_t(std::int64_t(m_5_sec_average) * 4 / 5 + sample / 5);
m_counter = 0;
}
}

View File

@ -1088,7 +1088,7 @@ namespace libtorrent
m_info_section.reset(new char[m_info_section_size]);
std::memcpy(m_info_section.get(), section.data(), m_info_section_size);
TORRENT_ASSERT(section[0] == 'd');
TORRENT_ASSERT(section[m_info_section_size-1] == 'e');
TORRENT_ASSERT(section[m_info_section_size - 1] == 'e');
// when translating a pointer that points into the 'info' tree's
// backing buffer, into a pointer to our copy of the info section,