diff options
| author | JosJuice <josjuice@gmail.com> | 2017-06-04 10:33:14 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2017-06-05 13:26:51 +0200 |
| commit | c3fa0d6edf0ed65acdf789debed57cd4aa7955ba (patch) | |
| tree | f8f42f79831b513161902d819a945d60368f7499 /Source/Core/DiscIO/VolumeGC.cpp | |
| parent | e23cfc29654ece853309454a7a37306cc696af19 (diff) | |
DiscIO: Use std::optional in Volume and Blob
Diffstat (limited to 'Source/Core/DiscIO/VolumeGC.cpp')
| -rw-r--r-- | Source/Core/DiscIO/VolumeGC.cpp | 30 |
1 files changed, 10 insertions, 20 deletions
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 <cstddef> #include <map> #include <memory> +#include <optional> #include <string> #include <utility> #include <vector> @@ -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<u8> country_code = ReadSwapped<u8>(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<u8> country_code = ReadSwapped<u8>(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<u16> CVolumeGC::GetRevision(const Partition& partition) const { - u8 revision; - if (!ReadSwapped(7, &revision, partition)) - return 0; - - return revision; + std::optional<u8> revision = ReadSwapped<u8>(7, partition); + return revision ? *revision : std::optional<u16>(); } 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<u8> CVolumeGC::GetDiscNumber(const Partition& partition) const { - u8 disc_number = 0; - ReadSwapped(6, &disc_number, partition); - return disc_number; + return ReadSwapped<u8>(6, partition); } Platform CVolumeGC::GetVolumeType() const |
