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/VolumeGC.cpp | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) (limited to 'Source/Core/DiscIO/VolumeGC.cpp') diff --git a/Source/Core/DiscIO/VolumeGC.cpp b/Source/Core/DiscIO/VolumeGC.cpp index 92d7fc5e0a..0f6cb4e61b 100644 --- a/Source/Core/DiscIO/VolumeGC.cpp +++ b/Source/Core/DiscIO/VolumeGC.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -57,20 +58,14 @@ std::string CVolumeGC::GetGameID(const Partition& partition) const Region CVolumeGC::GetRegion() const { - u8 country_code; - if (!ReadSwapped(3, &country_code, PARTITION_NONE)) - return Region::UNKNOWN_REGION; - - return RegionSwitchGC(country_code); + const std::optional country_code = ReadSwapped(3, PARTITION_NONE); + return country_code ? RegionSwitchGC(*country_code) : Region::UNKNOWN_REGION; } Country CVolumeGC::GetCountry(const Partition& partition) const { - u8 country_code; - if (!ReadSwapped(3, &country_code, partition)) - return Country::COUNTRY_UNKNOWN; - - return CountrySwitch(country_code); + const std::optional country_code = ReadSwapped(3, partition); + return country_code ? CountrySwitch(*country_code) : Country::COUNTRY_UNKNOWN; } std::string CVolumeGC::GetMakerID(const Partition& partition) const @@ -82,13 +77,10 @@ std::string CVolumeGC::GetMakerID(const Partition& partition) const return DecodeString(makerID); } -u16 CVolumeGC::GetRevision(const Partition& partition) const +std::optional CVolumeGC::GetRevision(const Partition& partition) const { - u8 revision; - if (!ReadSwapped(7, &revision, partition)) - return 0; - - return revision; + std::optional revision = ReadSwapped(7, partition); + return revision ? *revision : std::optional(); } std::string CVolumeGC::GetInternalName(const Partition& partition) const @@ -162,11 +154,9 @@ u64 CVolumeGC::GetRawSize() const return m_pReader->GetRawSize(); } -u8 CVolumeGC::GetDiscNumber(const Partition& partition) const +std::optional CVolumeGC::GetDiscNumber(const Partition& partition) const { - u8 disc_number = 0; - ReadSwapped(6, &disc_number, partition); - return disc_number; + return ReadSwapped(6, partition); } Platform CVolumeGC::GetVolumeType() const -- cgit v1.2.3