diff options
| author | Markus Wick <degasus@users.noreply.github.com> | 2015-12-08 12:03:54 +0100 |
|---|---|---|
| committer | Markus Wick <degasus@users.noreply.github.com> | 2015-12-08 12:03:54 +0100 |
| commit | 49cd777fce9b11ea4e4a3ed3bade8bed2396e2f4 (patch) | |
| tree | eeee3074b58e20a0e49237cab444fb40cd61ddd3 /Source/Core/DiscIO/WbfsBlob.cpp | |
| parent | 3e3e6073f7ee8422f47d23e4b060462c88191206 (diff) | |
| parent | 6295297ab3340e0d3ead3698920ff9a803127cff (diff) | |
Merge pull request #3324 from lioncash/alloc
DiscIO: Get rid of a few explicit deletes
Diffstat (limited to 'Source/Core/DiscIO/WbfsBlob.cpp')
| -rw-r--r-- | Source/Core/DiscIO/WbfsBlob.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/Source/Core/DiscIO/WbfsBlob.cpp b/Source/Core/DiscIO/WbfsBlob.cpp index 1ce88fa7d3..ae0299f0f8 100644 --- a/Source/Core/DiscIO/WbfsBlob.cpp +++ b/Source/Core/DiscIO/WbfsBlob.cpp @@ -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)); } } |
