Skip to content

Commit

Permalink
WbfsBlob: Don't wrap file_entry in std::unique_ptr
Browse files Browse the repository at this point in the history
There doesn't seem to be any reason for doing it.
  • Loading branch information
JosJuice committed Dec 31, 2016
1 parent dab2b75 commit c662356
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 13 deletions.
24 changes: 12 additions & 12 deletions Source/Core/DiscIO/WbfsBlob.cpp
Expand Up @@ -36,9 +36,9 @@ WbfsFileReader::WbfsFileReader(File::IOFile&& file, const std::string& path)

// Grab disc info (assume slot 0, checked in ReadHeader())
m_wlba_table.resize(m_blocks_per_disc);
m_files[0]->file.Seek(m_hd_sector_size + WII_DISC_HEADER_SIZE /*+ i * m_disc_info_size*/,
SEEK_SET);
m_files[0]->file.ReadBytes(m_wlba_table.data(), m_blocks_per_disc * sizeof(u16));
m_files[0].file.Seek(m_hd_sector_size + WII_DISC_HEADER_SIZE /*+ i * m_disc_info_size*/,
SEEK_SET);
m_files[0].file.ReadBytes(m_wlba_table.data(), m_blocks_per_disc * sizeof(u16));
for (size_t i = 0; i < m_blocks_per_disc; i++)
m_wlba_table[i] = Common::swap16(m_wlba_table[i]);
}
Expand Down Expand Up @@ -75,7 +75,7 @@ bool WbfsFileReader::AddFileToList(File::IOFile&& file)
return false;

const u64 file_size = file.GetSize();
m_files.emplace_back(std::make_unique<file_entry>(std::move(file), m_size, file_size));
m_files.emplace_back(std::move(file), m_size, file_size);
m_size += file_size;

return true;
Expand All @@ -84,7 +84,7 @@ bool WbfsFileReader::AddFileToList(File::IOFile&& file)
bool WbfsFileReader::ReadHeader()
{
// Read hd size info
m_files[0]->file.ReadBytes(&m_header, sizeof(WbfsHeader));
m_files[0].file.ReadBytes(&m_header, sizeof(WbfsHeader));
if (m_header.magic != WBFS_MAGIC)
return false;

Expand Down Expand Up @@ -142,28 +142,28 @@ File::IOFile& WbfsFileReader::SeekToCluster(u64 offset, u64* available)
u64 cluster_offset = offset & (m_wbfs_sector_size - 1);
u64 final_address = cluster_address + cluster_offset;

for (const std::unique_ptr<file_entry>& file_entry : m_files)
for (file_entry& file_entry : m_files)
{
if (final_address < (file_entry->base_address + file_entry->size))
if (final_address < (file_entry.base_address + file_entry.size))
{
file_entry->file.Seek(final_address - file_entry->base_address, SEEK_SET);
file_entry.file.Seek(final_address - file_entry.base_address, SEEK_SET);
if (available)
{
u64 till_end_of_file = file_entry->size - (final_address - file_entry->base_address);
u64 till_end_of_file = file_entry.size - (final_address - file_entry.base_address);
u64 till_end_of_sector = m_wbfs_sector_size - cluster_offset;
*available = std::min(till_end_of_file, till_end_of_sector);
}

return file_entry->file;
return file_entry.file;
}
}
}

PanicAlert("Read beyond end of disc");
if (available)
*available = 0;
m_files[0]->file.Seek(0, SEEK_SET);
return m_files[0]->file;
m_files[0].file.Seek(0, SEEK_SET);
return m_files[0].file;
}

std::unique_ptr<WbfsFileReader> WbfsFileReader::Create(File::IOFile&& file, const std::string& path)
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/DiscIO/WbfsBlob.h
Expand Up @@ -53,7 +53,7 @@ class WbfsFileReader : public IBlobReader
u64 size;
};

std::vector<std::unique_ptr<file_entry>> m_files;
std::vector<file_entry> m_files;

u64 m_size;

Expand Down

0 comments on commit c662356

Please sign in to comment.