From c3fa0d6edf0ed65acdf789debed57cd4aa7955ba Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sun, 4 Jun 2017 10:33:14 +0200 Subject: DiscIO: Use std::optional in Volume and Blob --- Source/Core/DiscIO/Volume.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'Source/Core/DiscIO/Volume.cpp') diff --git a/Source/Core/DiscIO/Volume.cpp b/Source/Core/DiscIO/Volume.cpp index 874db7279a..8ceee22f61 100644 --- a/Source/Core/DiscIO/Volume.cpp +++ b/Source/Core/DiscIO/Volume.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -93,26 +94,25 @@ std::unique_ptr CreateVolumeFromFilename(const std::string& filename) return nullptr; // Check for Wii - u32 wii_magic = 0; - reader->ReadSwapped(0x18, &wii_magic); - u32 wii_container_magic = 0; - reader->ReadSwapped(0x60, &wii_container_magic); - if (wii_magic == 0x5D1C9EA3 && wii_container_magic != 0) + const std::optional wii_magic = reader->ReadSwapped(0x18); + if (wii_magic == u32(0x5D1C9EA3)) + { + const std::optional wii_container_magic = reader->ReadSwapped(0x60); + if (wii_container_magic == u32(0)) + return std::make_unique(std::move(reader)); + return std::make_unique(std::move(reader)); - if (wii_magic == 0x5D1C9EA3 && wii_container_magic == 0) - return std::make_unique(std::move(reader)); + } // Check for WAD // 0x206962 for boot2 wads - u32 wad_magic = 0; - reader->ReadSwapped(0x02, &wad_magic); - if (wad_magic == 0x00204973 || wad_magic == 0x00206962) + const std::optional wad_magic = reader->ReadSwapped(0x02); + if (wad_magic == u32(0x00204973) || wad_magic == u32(0x00206962)) return std::make_unique(std::move(reader)); // Check for GC - u32 gc_magic = 0; - reader->ReadSwapped(0x1C, &gc_magic); - if (gc_magic == 0xC2339F3D) + const std::optional gc_magic = reader->ReadSwapped(0x1C); + if (gc_magic == u32(0xC2339F3D)) return std::make_unique(std::move(reader)); // No known magic words found -- cgit v1.2.3