diff options
author | Chloe Marcec <dmarcecguzman@gmail.com> | 2021-02-07 13:52:56 +0100 |
---|---|---|
committer | Chloe Marcec <dmarcecguzman@gmail.com> | 2021-02-07 13:52:56 +0100 |
commit | 9d5a56a40b6f25548ebc364c590ab891c9bbe8ba (patch) | |
tree | 2b65ab7c6470520175317f99a0b93adbcc2cfe97 /src/core/hle/service | |
parent | Merge pull request #5885 from MerryMage/ring_buffer-granularity (diff) | |
download | yuzu-9d5a56a40b6f25548ebc364c590ab891c9bbe8ba.tar yuzu-9d5a56a40b6f25548ebc364c590ab891c9bbe8ba.tar.gz yuzu-9d5a56a40b6f25548ebc364c590ab891c9bbe8ba.tar.bz2 yuzu-9d5a56a40b6f25548ebc364c590ab891c9bbe8ba.tar.lz yuzu-9d5a56a40b6f25548ebc364c590ab891c9bbe8ba.tar.xz yuzu-9d5a56a40b6f25548ebc364c590ab891c9bbe8ba.tar.zst yuzu-9d5a56a40b6f25548ebc364c590ab891c9bbe8ba.zip |
Diffstat (limited to 'src/core/hle/service')
-rw-r--r-- | src/core/hle/service/lm/lm.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/core/hle/service/lm/lm.cpp b/src/core/hle/service/lm/lm.cpp index 2a6d43d2a..7d7542fc2 100644 --- a/src/core/hle/service/lm/lm.cpp +++ b/src/core/hle/service/lm/lm.cpp @@ -143,17 +143,19 @@ private: rb.Push(RESULT_SUCCESS); } - u32 ReadLeb128(const std::vector<u8>& data, std::size_t& offset) { - u32 result{}; + u64 ReadLeb128(const std::vector<u8>& data, std::size_t& offset) { + u64 result{}; u32 shift{}; - do { - result |= (data[offset] & 0x7f) << shift; + + for (std::size_t i = 0; i < sizeof(u64); i++) { + const auto v = data[offset]; + result |= (static_cast<u64>(v & 0x7f) << shift); shift += 7; offset++; - if (offset >= data.size()) { + if (offset >= data.size() || ((v & 0x80) == 0)) { break; } - } while ((data[offset] & 0x80) != 0); + } return result; } @@ -262,7 +264,7 @@ private: switch (entry.severity) { case LogSeverity::Trace: - LOG_DEBUG(Service_LM, "LogManager DEBUG ({}):\n{}", DestinationToString(destination), + LOG_DEBUG(Service_LM, "LogManager TRACE ({}):\n{}", DestinationToString(destination), output_log); break; case LogSeverity::Info: |