fixed file checking bug in trunk
This commit is contained in:
parent
32c2c38737
commit
e5072b80f5
|
@ -1853,6 +1853,8 @@ namespace libtorrent
|
||||||
return check_init_storage(error);
|
return check_init_storage(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TORRENT_ASSERT(m_current_slot < m_info->num_pieces());
|
||||||
|
|
||||||
int piece = m_slot_to_piece[m_current_slot];
|
int piece = m_slot_to_piece[m_current_slot];
|
||||||
TORRENT_ASSERT(piece >= 0);
|
TORRENT_ASSERT(piece >= 0);
|
||||||
int other_piece = m_slot_to_piece[piece];
|
int other_piece = m_slot_to_piece[piece];
|
||||||
|
@ -1888,6 +1890,7 @@ namespace libtorrent
|
||||||
TORRENT_ASSERT(m_state == state_full_check);
|
TORRENT_ASSERT(m_state == state_full_check);
|
||||||
|
|
||||||
bool skip = check_one_piece(have_piece);
|
bool skip = check_one_piece(have_piece);
|
||||||
|
TORRENT_ASSERT(m_current_slot <= m_info->num_pieces());
|
||||||
|
|
||||||
if (skip)
|
if (skip)
|
||||||
{
|
{
|
||||||
|
@ -1896,7 +1899,7 @@ namespace libtorrent
|
||||||
// completely. We should skip all pieces belonging to that file.
|
// completely. We should skip all pieces belonging to that file.
|
||||||
// find the file that failed, and skip all the pieces in that file
|
// find the file that failed, and skip all the pieces in that file
|
||||||
size_type file_offset = 0;
|
size_type file_offset = 0;
|
||||||
size_type current_offset = m_current_slot * m_info->piece_length();
|
size_type current_offset = size_type(m_current_slot) * m_info->piece_length();
|
||||||
for (torrent_info::file_iterator i = m_info->begin_files(true);
|
for (torrent_info::file_iterator i = m_info->begin_files(true);
|
||||||
i != m_info->end_files(true); ++i)
|
i != m_info->end_files(true); ++i)
|
||||||
{
|
{
|
||||||
|
@ -1920,6 +1923,7 @@ namespace libtorrent
|
||||||
|
|
||||||
// current slot will increase by one at the end of the for-loop too
|
// current slot will increase by one at the end of the for-loop too
|
||||||
m_current_slot += skip_blocks - 1;
|
m_current_slot += skip_blocks - 1;
|
||||||
|
TORRENT_ASSERT(m_current_slot <= m_info->num_pieces());
|
||||||
}
|
}
|
||||||
|
|
||||||
++m_current_slot;
|
++m_current_slot;
|
||||||
|
@ -2394,6 +2398,8 @@ namespace libtorrent
|
||||||
{
|
{
|
||||||
boost::recursive_mutex::scoped_lock lock(m_mutex);
|
boost::recursive_mutex::scoped_lock lock(m_mutex);
|
||||||
|
|
||||||
|
TORRENT_ASSERT(m_current_slot <= m_info->num_pieces());
|
||||||
|
|
||||||
if (m_unallocated_slots.empty() && m_state == state_finished)
|
if (m_unallocated_slots.empty() && m_state == state_finished)
|
||||||
{
|
{
|
||||||
TORRENT_ASSERT(m_storage_mode != storage_mode_compact);
|
TORRENT_ASSERT(m_storage_mode != storage_mode_compact);
|
||||||
|
|
Loading…
Reference in New Issue