diff options
| -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;          }  | 
