From 64bd20aba72f2dfa4d61041f825c389401b8ae0c Mon Sep 17 00:00:00 2001 From: Trace Bullet Date: Thu, 2 Jul 2015 02:43:18 -0400 Subject: DiscIO: Check if m_Disc is null in ParsePartitionData() --- Source/Core/DiscIO/DiscScrubber.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'Source/Core/DiscIO/DiscScrubber.cpp') diff --git a/Source/Core/DiscIO/DiscScrubber.cpp b/Source/Core/DiscIO/DiscScrubber.cpp index e44195492b..10d0c0e417 100644 --- a/Source/Core/DiscIO/DiscScrubber.cpp +++ b/Source/Core/DiscIO/DiscScrubber.cpp @@ -265,8 +265,14 @@ bool ParsePartitionData(SPartition& _rPartition) // Ready some stuff m_Disc = CreateVolumeFromFilename(m_Filename, _rPartition.GroupNumber, _rPartition.Number); - std::unique_ptr filesystem(CreateFileSystem(m_Disc)); + if (m_Disc == nullptr) + { + ERROR_LOG(DISCIO, "Failed to create volume from file %s", m_Filename.c_str()); + m_Disc = OldVolume; + return false; + } + std::unique_ptr filesystem(CreateFileSystem(m_Disc)); if (!filesystem) { ERROR_LOG(DISCIO, "Failed to create filesystem for group %d partition %u", _rPartition.GroupNumber, _rPartition.Number); -- cgit v1.2.3 From 8fdb013d540cf5d79a23888053fda2897f997e61 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 4 Sep 2015 19:44:39 -0400 Subject: General: Toss out PRI macro usage Now that VS supports more printf specifiers, these aren't necessary --- Source/Core/DiscIO/DiscScrubber.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Source/Core/DiscIO/DiscScrubber.cpp') diff --git a/Source/Core/DiscIO/DiscScrubber.cpp b/Source/Core/DiscIO/DiscScrubber.cpp index 10d0c0e417..08ded8446c 100644 --- a/Source/Core/DiscIO/DiscScrubber.cpp +++ b/Source/Core/DiscIO/DiscScrubber.cpp @@ -130,14 +130,14 @@ size_t GetNextBlock(File::IOFile& in, u8* buffer) size_t ReadBytes = 0; if (m_isScrubbing && m_FreeTable[i]) { - DEBUG_LOG(DISCIO, "Freeing 0x%016" PRIx64, CurrentOffset); + DEBUG_LOG(DISCIO, "Freeing 0x%016llx", CurrentOffset); std::fill(buffer, buffer + m_BlockSize, 0xFF); in.Seek(m_BlockSize, SEEK_CUR); ReadBytes = m_BlockSize; } else { - DEBUG_LOG(DISCIO, "Used 0x%016" PRIx64, CurrentOffset); + DEBUG_LOG(DISCIO, "Used 0x%016llx", CurrentOffset); in.ReadArray(buffer, m_BlockSize, &ReadBytes); } @@ -161,7 +161,7 @@ void MarkAsUsed(u64 _Offset, u64 _Size) u64 CurrentOffset = _Offset; u64 EndOffset = CurrentOffset + _Size; - DEBUG_LOG(DISCIO, "Marking 0x%016" PRIx64 " - 0x%016" PRIx64 " as used", _Offset, EndOffset); + DEBUG_LOG(DISCIO, "Marking 0x%016llx - 0x%016llx as used", _Offset, EndOffset); while ((CurrentOffset < EndOffset) && (CurrentOffset < m_FileSize)) { -- cgit v1.2.3 From 19459e827f6c15f9429598015019ecb66f2e6cad Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 8 Sep 2015 01:44:37 -0400 Subject: Partially revert "General: Toss out PRI macro usage" --- Source/Core/DiscIO/DiscScrubber.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Source/Core/DiscIO/DiscScrubber.cpp') diff --git a/Source/Core/DiscIO/DiscScrubber.cpp b/Source/Core/DiscIO/DiscScrubber.cpp index 08ded8446c..10d0c0e417 100644 --- a/Source/Core/DiscIO/DiscScrubber.cpp +++ b/Source/Core/DiscIO/DiscScrubber.cpp @@ -130,14 +130,14 @@ size_t GetNextBlock(File::IOFile& in, u8* buffer) size_t ReadBytes = 0; if (m_isScrubbing && m_FreeTable[i]) { - DEBUG_LOG(DISCIO, "Freeing 0x%016llx", CurrentOffset); + DEBUG_LOG(DISCIO, "Freeing 0x%016" PRIx64, CurrentOffset); std::fill(buffer, buffer + m_BlockSize, 0xFF); in.Seek(m_BlockSize, SEEK_CUR); ReadBytes = m_BlockSize; } else { - DEBUG_LOG(DISCIO, "Used 0x%016llx", CurrentOffset); + DEBUG_LOG(DISCIO, "Used 0x%016" PRIx64, CurrentOffset); in.ReadArray(buffer, m_BlockSize, &ReadBytes); } @@ -161,7 +161,7 @@ void MarkAsUsed(u64 _Offset, u64 _Size) u64 CurrentOffset = _Offset; u64 EndOffset = CurrentOffset + _Size; - DEBUG_LOG(DISCIO, "Marking 0x%016llx - 0x%016llx as used", _Offset, EndOffset); + DEBUG_LOG(DISCIO, "Marking 0x%016" PRIx64 " - 0x%016" PRIx64 " as used", _Offset, EndOffset); while ((CurrentOffset < EndOffset) && (CurrentOffset < m_FileSize)) { -- cgit v1.2.3 From cc036ca86cdaf709e01221975da734cb64d54a94 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sat, 26 Sep 2015 17:13:07 -0400 Subject: Common: Remove other Common prefixed headers from Common.h --- Source/Core/DiscIO/DiscScrubber.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'Source/Core/DiscIO/DiscScrubber.cpp') diff --git a/Source/Core/DiscIO/DiscScrubber.cpp b/Source/Core/DiscIO/DiscScrubber.cpp index 10d0c0e417..e669a5f4b3 100644 --- a/Source/Core/DiscIO/DiscScrubber.cpp +++ b/Source/Core/DiscIO/DiscScrubber.cpp @@ -12,6 +12,7 @@ #include "Common/CommonTypes.h" #include "Common/FileUtil.h" +#include "Common/Logging/Log.h" #include "DiscIO/DiscScrubber.h" #include "DiscIO/Filesystem.h" #include "DiscIO/Volume.h" -- cgit v1.2.3