From 634de3b3d7625e93da87f870c336a4d1aa2563ae Mon Sep 17 00:00:00 2001 From: Jim Westfall Date: Wed, 29 Oct 2014 20:20:37 -0700 Subject: [PATCH] More CHD related fixes - CHDReturnError was not handled and would cause an exception/crash - CHD error/filename were swapped in ErrorGrid when scanning - Use regex when parsing chdman stdout output --- ROMVault2/FileScanning.cs | 5 +++-- ROMVault2/SupportedFiles/CHD/CHD.cs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ROMVault2/FileScanning.cs b/ROMVault2/FileScanning.cs index e8b3726..698c1c4 100644 --- a/ROMVault2/FileScanning.cs +++ b/ROMVault2/FileScanning.cs @@ -820,11 +820,12 @@ namespace ROMVault2 tFile.FileStatusSet(FileStatus.SHA1CHDVerified); return; case CHD.CHDManCheck.Corrupt: - _bgw.ReportProgress(0, new bgwShowError(error, filename)); + _bgw.ReportProgress(0, new bgwShowError(filename, error)); tFile.GotStatus = GotStatus.Corrupt; return; + case CHD.CHDManCheck.CHDReturnError: case CHD.CHDManCheck.CHDUnknownError: - _bgw.ReportProgress(0, new bgwShowError(error, filename)); + _bgw.ReportProgress(0, new bgwShowError(filename, error)); return; case CHD.CHDManCheck.ChdmanNotFound: return; diff --git a/ROMVault2/SupportedFiles/CHD/CHD.cs b/ROMVault2/SupportedFiles/CHD/CHD.cs index 29b4da5..df116da 100644 --- a/ROMVault2/SupportedFiles/CHD/CHD.cs +++ b/ROMVault2/SupportedFiles/CHD/CHD.cs @@ -334,7 +334,7 @@ namespace ROMVault2.SupportedFiles.CHD switch (_outputLineCount) { case 0: - if (sOut.Length < 53 || sOut.Substring(0, 53) != "chdman - MAME Compressed Hunks of Data (CHD) manager ") + if (!System.Text.RegularExpressions.Regex.IsMatch(sOut, @"^chdman - MAME Compressed Hunks of Data \(CHD\) manager ([0-9\.]+) \(.*\)")) { _result = "Incorrect startup of CHDMan :" + sOut; _resultType = CHDManCheck.CHDReturnError;