Small cleanup

This commit is contained in:
momo5502
2025-03-29 10:44:14 +01:00
parent a41fce3a02
commit e0b0630171

View File

@@ -41,18 +41,17 @@ void syscall_dispatcher::setup(const exported_symbols& ntdll_exports, std::span<
void syscall_dispatcher::add_handlers() void syscall_dispatcher::add_handlers()
{ {
std::map<std::string, syscall_handler> handler_mapping{}; std::map<std::string, syscall_handler> handler_mapping{};
syscall_dispatcher::add_handlers(handler_mapping); syscall_dispatcher::add_handlers(handler_mapping);
for (auto& entry : this->handlers_) for (auto& entry : this->handlers_ | std::views::values)
{ {
const auto handler = handler_mapping.find(entry.second.name); const auto handler = handler_mapping.find(entry.name);
if (handler == handler_mapping.end()) if (handler == handler_mapping.end())
{ {
continue; continue;
} }
entry.second.handler = handler->second; entry.handler = handler->second;
#ifndef NDEBUG #ifndef NDEBUG
handler_mapping.erase(handler); handler_mapping.erase(handler);
@@ -68,7 +67,12 @@ void syscall_dispatcher::dispatch(windows_emulator& win_emu)
const auto address = emu.read_instruction_pointer(); const auto address = emu.read_instruction_pointer();
const auto syscall_id = emu.reg<uint32_t>(x64_register::eax); const auto syscall_id = emu.reg<uint32_t>(x64_register::eax);
const syscall_context c{win_emu, emu, context, true}; const syscall_context c{
.win_emu = win_emu,
.emu = emu,
.proc = context,
.write_status = true,
};
try try
{ {