diff options
author | Mike Pavone <pavone@retrodev.com> | 2013-05-04 14:36:50 -0700 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2013-05-04 14:36:50 -0700 |
commit | d3d2b9651df7ba9fc44b0e24d93a5d3258c75c57 (patch) | |
tree | 8d52d4db5e5f7b33ec9d099929c30e6cb88b1f96 /x86_backend.c | |
parent | e8b34d6a607ae2e7b0b232baec476b5cbafb4aca (diff) |
Remove deferred address entries from abandoned translations inside z80_retrans_inst
Diffstat (limited to 'x86_backend.c')
-rw-r--r-- | x86_backend.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/x86_backend.c b/x86_backend.c index b03703e..e3fe0ce 100644 --- a/x86_backend.c +++ b/x86_backend.c @@ -10,6 +10,15 @@ deferred_addr * defer_address(deferred_addr * old_head, uint32_t address, uint8_ return new_head; } +void remove_deferred_until(deferred_addr **head_ptr, deferred_addr * remove_to) +{ + for(deferred_addr *cur = *head_ptr; cur && cur != remove_to; cur = *head_ptr) + { + *head_ptr = cur->next; + free(cur); + } +} + void process_deferred(deferred_addr ** head_ptr, void * context, native_addr_func get_native) { deferred_addr * cur = *head_ptr; |