summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/lm/lm.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/core/hle/service/lm/lm.cpp b/src/core/hle/service/lm/lm.cpp
index 7d7542fc2..9bcf8870d 100644
--- a/src/core/hle/service/lm/lm.cpp
+++ b/src/core/hle/service/lm/lm.cpp
@@ -46,7 +46,7 @@ struct hash<Service::LM::LogPacketHeaderEntry> {
46 boost::hash_combine(seed, k.severity); 46 boost::hash_combine(seed, k.severity);
47 boost::hash_combine(seed, k.verbosity); 47 boost::hash_combine(seed, k.verbosity);
48 return seed; 48 return seed;
49 }; 49 }
50}; 50};
51} // namespace std 51} // namespace std
52 52
@@ -95,7 +95,7 @@ private:
95 std::memcpy(&header, data.data(), sizeof(LogPacketHeader)); 95 std::memcpy(&header, data.data(), sizeof(LogPacketHeader));
96 offset += sizeof(LogPacketHeader); 96 offset += sizeof(LogPacketHeader);
97 97
98 LogPacketHeaderEntry entry{ 98 const LogPacketHeaderEntry entry{
99 .pid = header.pid, 99 .pid = header.pid,
100 .tid = header.tid, 100 .tid = header.tid,
101 .severity = header.severity, 101 .severity = header.severity,
@@ -105,16 +105,17 @@ private:
105 if (True(header.flags & LogPacketFlags::Head)) { 105 if (True(header.flags & LogPacketFlags::Head)) {
106 std::vector<u8> tmp(data.size() - sizeof(LogPacketHeader)); 106 std::vector<u8> tmp(data.size() - sizeof(LogPacketHeader));
107 std::memcpy(tmp.data(), data.data() + offset, tmp.size()); 107 std::memcpy(tmp.data(), data.data() + offset, tmp.size());
108 entries[entry] = std::move(tmp); 108 entries.insert_or_assign(entry, std::move(tmp));
109 } else { 109 } else {
110 const auto entry_iter = entries.find(entry);
111
110 // Append to existing entry 112 // Append to existing entry
111 if (!entries.contains(entry)) { 113 if (entry_iter == entries.cend()) {
112 LOG_ERROR(Service_LM, "Log entry does not exist!"); 114 LOG_ERROR(Service_LM, "Log entry does not exist!");
113 return; 115 return;
114 } 116 }
115 std::vector<u8> tmp(data.size() - sizeof(LogPacketHeader));
116 117
117 auto& existing_entry = entries[entry]; 118 auto& existing_entry = entry_iter->second;
118 const auto base = existing_entry.size(); 119 const auto base = existing_entry.size();
119 existing_entry.resize(base + (data.size() - sizeof(LogPacketHeader))); 120 existing_entry.resize(base + (data.size() - sizeof(LogPacketHeader)));
120 std::memcpy(existing_entry.data() + base, data.data() + offset, 121 std::memcpy(existing_entry.data() + base, data.data() + offset,