From f14f0caea62e0aa4421d6ed3efcd63474ad75e83 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 4 Dec 2014 11:39:20 -0500 Subject: DiscIO: Remove some explicit deletes --- Source/Core/DiscIO/CompressedBlob.cpp | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'Source/Core/DiscIO/CompressedBlob.cpp') diff --git a/Source/Core/DiscIO/CompressedBlob.cpp b/Source/Core/DiscIO/CompressedBlob.cpp index c3b79baf1c..74427c95a1 100644 --- a/Source/Core/DiscIO/CompressedBlob.cpp +++ b/Source/Core/DiscIO/CompressedBlob.cpp @@ -11,7 +11,9 @@ #include #include #include +#include #include +#include #include #include "Common/CommonTypes.h" @@ -303,21 +305,18 @@ bool DecompressBlobToFile(const std::string& infile, const std::string& outfile, return false; } - CompressedBlobReader* reader = CompressedBlobReader::Create(infile); + std::unique_ptr reader(CompressedBlobReader::Create(infile)); if (!reader) return false; File::IOFile f(outfile, "wb"); if (!f) - { - delete reader; return false; - } const CompressedBlobHeader &header = reader->GetHeader(); static const size_t BUFFER_BLOCKS = 32; size_t buffer_size = header.block_size * BUFFER_BLOCKS; - u8* buffer = new u8[buffer_size]; + std::vector buffer(buffer_size); u32 num_buffers = header.num_blocks / BUFFER_BLOCKS; int progress_monitor = std::max(1, num_buffers / 100); bool was_cancelled = false; @@ -330,12 +329,10 @@ bool DecompressBlobToFile(const std::string& infile, const std::string& outfile, if (was_cancelled) break; } - reader->Read(i * buffer_size, buffer_size, buffer); - f.WriteBytes(buffer, buffer_size); + reader->Read(i * buffer_size, buffer_size, buffer.data()); + f.WriteBytes(buffer.data(), buffer_size); } - delete[] buffer; - if (was_cancelled) { // Remove the incomplete output file. @@ -347,8 +344,6 @@ bool DecompressBlobToFile(const std::string& infile, const std::string& outfile, f.Resize(header.data_size); } - delete reader; - return true; } -- cgit v1.2.3