DiscIO: Get rid of a few explicit deletes

This commit is contained in:
Lioncash
2015-12-07 19:53:42 -05:00
parent 9719804cd2
commit 6295297ab3
11 changed files with 86 additions and 120 deletions

View File

@ -28,7 +28,7 @@ static inline u64 align(u64 value, u64 bounds)
}
WbfsFileReader::WbfsFileReader(const std::string& filename)
: m_total_files(0), m_size(0), m_wlba_table(nullptr), m_good(true)
: m_total_files(0), m_size(0), m_good(true)
{
if (filename.length() < 4 || !OpenFiles(filename) || !ReadHeader())
{
@ -37,19 +37,15 @@ WbfsFileReader::WbfsFileReader(const std::string& filename)
}
// Grab disc info (assume slot 0, checked in ReadHeader())
m_wlba_table = new u16[m_blocks_per_disc];
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, m_blocks_per_disc * sizeof(u16));
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]);
}
WbfsFileReader::~WbfsFileReader()
{
for (file_entry* entry : m_files)
delete entry;
delete[] m_wlba_table;
}
u64 WbfsFileReader::GetDataSize() const
@ -63,7 +59,7 @@ bool WbfsFileReader::OpenFiles(const std::string& filename)
while (true)
{
file_entry* new_entry = new file_entry;
auto new_entry = std::make_unique<file_entry>();
// Replace last character with index (e.g. wbfs = wbf1)
std::string path = filename;
@ -74,8 +70,7 @@ bool WbfsFileReader::OpenFiles(const std::string& filename)
if (!new_entry->file.Open(path, "rb"))
{
delete new_entry;
return 0 != m_total_files;
return m_total_files != 0;
}
new_entry->base_address = m_size;
@ -83,7 +78,7 @@ bool WbfsFileReader::OpenFiles(const std::string& filename)
m_size += new_entry->size;
m_total_files++;
m_files.push_back(new_entry);
m_files.emplace_back(std::move(new_entry));
}
}