diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/service/lm/lm.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/hle/service/lm/lm.cpp b/src/core/hle/service/lm/lm.cpp index 2d0d2fb65..13c9ee3d3 100644 --- a/src/core/hle/service/lm/lm.cpp +++ b/src/core/hle/service/lm/lm.cpp @@ -47,6 +47,7 @@ private: /// Log field type enum class Field : u8 { + Skip = 1, Message = 2, Line = 3, Filename = 4, @@ -85,6 +86,11 @@ private: while (addr < end_addr) { const Field field{static_cast<Field>(Memory::Read8(addr++))}; size_t length{Memory::Read8(addr++)}; + + if (static_cast<Field>(Memory::Read8(addr)) == Field::Skip) { + ++addr; + } + switch (field) { case Field::Message: message = Memory::ReadCString(addr, length); @@ -99,6 +105,7 @@ private: function = Memory::ReadCString(addr, length); break; } + addr += length; } |