From 356237418f6cee20886346d05490b4250d9cef85 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Tue, 5 May 2026 12:32:00 -0700 Subject: [PATCH] demon: always gather 'active' traps - do not require success --- src/demon/demon_core.c | 23 +++++------------------ src/demon/demon_core.h | 1 - 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/src/demon/demon_core.c b/src/demon/demon_core.c index bda30798..82662840 100644 --- a/src/demon/demon_core.c +++ b/src/demon/demon_core.c @@ -221,25 +221,12 @@ dmn_get_trap_inst(void) internal DMN_ActiveTrap * dmn_set_trap(Arena *arena, DMN_Trap *trap) { - DMN_ActiveTrap *result = 0; String8 trap_inst = dmn_get_trap_inst(); U8 *swap_bytes = push_array(arena, U8, trap_inst.size); - if(dmn_process_read(trap->process, r1u64(trap->vaddr, trap->vaddr + trap_inst.size), swap_bytes) == trap_inst.size) - { - if(dmn_process_write(trap->process, r1u64(trap->vaddr, trap->vaddr + trap_inst.size), trap_inst.str) == trap_inst.size) - { - result = push_array(arena, DMN_ActiveTrap, 1); - result->trap = trap; - result->swap_bytes = str8(swap_bytes, trap_inst.size); - } - } + dmn_process_read(trap->process, r1u64(trap->vaddr, trap->vaddr + trap_inst.size), swap_bytes); + dmn_process_write(trap->process, r1u64(trap->vaddr, trap->vaddr + trap_inst.size), trap_inst.str); + DMN_ActiveTrap *result = push_array(arena, DMN_ActiveTrap, 1); + result->trap = trap; + result->swap_bytes = str8(swap_bytes, trap_inst.size); return result; } - -internal B32 -dmn_remove_trap(DMN_ActiveTrap *active_trap) -{ - B32 is_removed = dmn_process_write(active_trap->trap->process, r1u64(active_trap->trap->vaddr, active_trap->trap->vaddr + active_trap->swap_bytes.size), active_trap->swap_bytes.str); - return is_removed; -} - diff --git a/src/demon/demon_core.h b/src/demon/demon_core.h index 53aebfbd..4df517ca 100644 --- a/src/demon/demon_core.h +++ b/src/demon/demon_core.h @@ -280,6 +280,5 @@ internal void dmn_process_iter_end(DMN_ProcessIter *iter); internal String8 dmn_get_trap_inst(void); internal DMN_ActiveTrap * dmn_set_trap(Arena *arena, DMN_Trap *trap); -internal B32 dmn_remove_trap(DMN_ActiveTrap *active_trap); #endif // DEMON_CORE_H