summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/WIACompression.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-01-28 17:28:21 +0100
committerLéo Lam <leo@leolam.fr>2021-04-06 23:27:23 +0200
commit1a9e72c9bbed1842621969f035dec47ac75d9db4 (patch)
treea0eb66b50fbf87be88d5b25f41bf6084982c42f3 /Source/Core/DiscIO/WIACompression.cpp
parent8d21fa56a1133529273d57df06888e42bb63fde7 (diff)
DiscIO: Use MathUtil::SaturatingCast
Diffstat (limited to 'Source/Core/DiscIO/WIACompression.cpp')
-rw-r--r--Source/Core/DiscIO/WIACompression.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/Source/Core/DiscIO/WIACompression.cpp b/Source/Core/DiscIO/WIACompression.cpp
index 5b5da07a37..17231f63b3 100644
--- a/Source/Core/DiscIO/WIACompression.cpp
+++ b/Source/Core/DiscIO/WIACompression.cpp
@@ -19,6 +19,7 @@
#include "Common/Assert.h"
#include "Common/CommonTypes.h"
+#include "Common/MathUtil.h"
#include "Common/Swap.h"
#include "DiscIO/LaggedFibonacciGenerator.h"
@@ -166,18 +167,13 @@ bool Bzip2Decompressor::Decompress(const DecompressionBuffer& in, DecompressionB
m_started = true;
}
- constexpr auto clamped_cast = [](size_t x) {
- return static_cast<unsigned int>(
- std::min<size_t>(std::numeric_limits<unsigned int>().max(), x));
- };
-
char* const in_ptr = reinterpret_cast<char*>(const_cast<u8*>(in.data.data() + *in_bytes_read));
m_stream.next_in = in_ptr;
- m_stream.avail_in = clamped_cast(in.bytes_written - *in_bytes_read);
+ m_stream.avail_in = MathUtil::SaturatingCast<u32>(in.bytes_written - *in_bytes_read);
char* const out_ptr = reinterpret_cast<char*>(out->data.data() + out->bytes_written);
m_stream.next_out = out_ptr;
- m_stream.avail_out = clamped_cast(out->data.size() - out->bytes_written);
+ m_stream.avail_out = MathUtil::SaturatingCast<u32>(out->data.size() - out->bytes_written);
const int result = BZ2_bzDecompress(&m_stream);