summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/VolumeVerifier.cpp
diff options
context:
space:
mode:
authorMat M <mathew1800@gmail.com>2019-10-30 05:37:08 -0400
committerGitHub <noreply@github.com>2019-10-30 05:37:08 -0400
commit78fad0aafae4e72896976a5215680c88d65cbfbd (patch)
treedac072c53cb43801ac662c8c97355cec3f3e15dd /Source/Core/DiscIO/VolumeVerifier.cpp
parent4f5badb9ed8cbdfbd1dcf09702ac9429ae138913 (diff)
parentf9705fd1176432755df3dba0ef5c50f505193371 (diff)
Merge pull request #8443 from JosJuice/redumpverifier-datel-wii
RedumpVerifier: Fix handling of Datel Wii disc serials
Diffstat (limited to 'Source/Core/DiscIO/VolumeVerifier.cpp')
-rw-r--r--Source/Core/DiscIO/VolumeVerifier.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/Source/Core/DiscIO/VolumeVerifier.cpp b/Source/Core/DiscIO/VolumeVerifier.cpp
index 5250f88244..bad2790a4d 100644
--- a/Source/Core/DiscIO/VolumeVerifier.cpp
+++ b/Source/Core/DiscIO/VolumeVerifier.cpp
@@ -241,9 +241,9 @@ std::vector<RedumpVerifier::PotentialMatch> RedumpVerifier::ScanDatfile(const st
continue;
const std::string serials = game.child("serial").text().as_string();
- if (serials.empty())
+ if (serials.empty() || StringBeginsWith(serials, "DS"))
{
- // This case is reached for Datel discs
+ // GC Datel discs have no serials in Redump, Wii Datel discs have serials like "DS000101"
if (!m_game_id.empty())
continue; // Non-empty m_game_id means we're verifying a non-Datel disc
}
@@ -265,7 +265,7 @@ std::vector<RedumpVerifier::PotentialMatch> RedumpVerifier::ScanDatfile(const st
const size_t game_id_start =
first_dash == std::string::npos ? std::string::npos : first_dash + 1;
- if (serial.size() < game_id_start + 4)
+ if (game_id_start == std::string::npos || serial.size() < game_id_start + 4)
{
ERROR_LOG(DISCIO, "Invalid serial in redump datfile: %s", serial_str.c_str());
continue;